RPG maker VX
Últimos temas
» Script de menu
por 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 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

[ Ver toda la lista ]


La mayor cantidad de usuarios en línea fue 117 el Mar 09 Ago 2011, 3:39 pm.

6 scripts en 1 (+ informacion)

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker Vx 6 scripts en 1 (+ informacion)

Mensaje por prodijames el Sáb 20 Abr 2013, 9:16 am

ola a todos este es mi primer post y os traigo un script muy bueno para añadirle mucha informacion al epersonaje

aki esta el script:




Código:

#==============================================================================
#
# Yanfly 6 - Status Menu
# --- Last Date Updated: 2011.09.26
# --- Level: Easy, Normal
# Requires: n/a
#
#==============================================================================

$imported = {} if $imported == nil
$imported["Y6-StatusMenu"] = true

#==============================================================================
# Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# o 2011.09.26 - Updated window positions.
# o 2011.09.09 - Updated compatibility for Y6 Performance Screen.
# o 2011.09.05 - Finished Script after many distractions.
# o 2011.09.02 - Started Script.
#
#==============================================================================
# Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# For those who use Yanfly Engine 6 scripts, you may have realized that sooner
# or later, the Status window isn't sufficient at displaying data and stats
# provided by those scripts. This updated status menu will allow players access
# to the data and information regarding the new features.
#
#==============================================================================
# Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ¥ Materials but above ¥ Main. Remember to save.
#
# Adjust the module as you see fit. Everything else is plug and play.
#
#==============================================================================
# Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Note: This script may not work with former Yanfly Engine scripts.
# Use Yanfly Engine 6 scripts to work with this if available.
#==============================================================================

module Y6
module STATUS

#--------------------------------------------------------------------------
# - Command Menu -
#--------------------------------------------------------------------------
# This section will adjust what commands appear in the upper left corner
# of the status scene and the vocabulary used with it. It will also adjust
# parts of the EXP Gauge shown in the upper right window.
#--------------------------------------------------------------------------
# This array determines what items will appear in the status scene and
# what order they appear in. Remove them if you don't want them to appear.
COMMANDS =[
:general, # Shows general overview of character.
:parameters, # Shows basic parameters with a gauge comparison.
:statistics, # Shows secondary bonuses. Requires Y6 Battle Stats.
:performance, # Shows battle performance. Requires Y6 Performance Screen.
:background, # Shows character's story if any is used.
] # Do not remove this.

# This hash determines how the vocabulary appears in your game. Modify them
# as you see fit if you wish to rename certain aspects.
COMMAND_VOCAB ={
# :command => String
:general => "General",
:parameters => "Parameters",
:statistics => "Statistics",
:performance => "Performance",
:background => "Background",
} # Do not remove this.

# This determines the colour of the EXP bars used for the actor's exp
# gauge in the status menu.
EXP_TEXT = "XP" # Text used for EXP
PERCENT_EXP = "%1.2f%%" # Text format used for EXP percentage
EXP_GAUGE_1 = 20 # Colour 1 for the EXP Gauge
EXP_GAUGE_2 = 21 # Colour 2 for the EXP Gauge

# Use the EXP bar on the main menu selection?
USE_FOR_MAIN_MENU = true

#--------------------------------------------------------------------------
# - General Status Window -
#--------------------------------------------------------------------------
# This section adjusts the general window and how it appears. The general
# window displays basic information for the player regarding the actor.
#--------------------------------------------------------------------------

# This array shows the stats for the left side of the window. Simply remove
# a stat from this list if you don't want it to appear or reaarnage them as
# you see fit. You may place other stats here, too. Note that stats that
# require special scripts won't appear unless that script is installed.
# Legal Stats:
# :atk, :def, :spi, :res, :dex, :foc, :luk, :agi
SHOWN_STATS = [:atk, :def, :spi, :res, :dex, :foc, :luk, :agi]

# How the text for MaxHP and MaxMP will show up and if they show up at all.
SHOW_MAXHP = true
MAXHP_TEXT = "MaxHP"
SHOW_MAXMP = true
MAXMP_TEXT = "MaxSP"

# How the text will appear for the equipment listing.
EQUIPMENT = "Equipment"

#--------------------------------------------------------------------------
# - Parameters Status Window -
#--------------------------------------------------------------------------
# This window here compares the basic parameters to each other in a gauge
# fashion. In this section, you may adjust the colours of the gauges that
# appear for each stat and the font size of the stats.
#--------------------------------------------------------------------------
STAT_GAUGE_COLOURS ={
# Stat => [Red1, Grn1, Blu1, Red2, Grn2, Blu2],
:atk => [ 240, 50, 80, 240, 150, 150],
:def => [ 50, 240, 50, 150, 240, 150],
:spi => [ 50, 180, 240, 150, 200, 240],
:res => [ 240, 110, 50, 240, 200, 150],
:dex => [ 200, 200, 200, 240, 240, 240],
:foc => [ 80, 80, 80, 130, 130, 130],
:luk => [ 180, 50, 240, 220, 150, 240],
:agi => [ 240, 200, 80, 240, 240, 140],
} # Do not remove this.

# This adjusts the title that appears above the chart.
PARAM_CHART_TITLE = "Parameter Comparison Chart"

# This adjusts the font size used for the chart stats.
PARAM_FONT_SIZE = 16

#--------------------------------------------------------------------------
# - Statistics Status Window -
#--------------------------------------------------------------------------
# For those who have the Yanfly Engine 6 Battle Stats script installed and
# have selected using stats like DEX, FOC, LUK, etc. and/or their secondary
# bonuses, this statistics status window will show what bonuses are offered
# for the battler.
#--------------------------------------------------------------------------
# This adjusts the title that appears above the list.
STATISTICS_LIST_TITLE = "Statistics List"

# If you are using the Yanfly Engine 6 Iconview Module script, you may
# choose to have the stat icon to show the text of the corresponding stat
# with "true" or not with "false"
ICONS_SHOW_ORIGINAL_STAT_TEXT = true

#--------------------------------------------------------------------------
# - Background Status Window -
#--------------------------------------------------------------------------
# Here, you may enter in text about an actor's background. If no info is
# available for an actor, then the class info will take place. If no actor
# and no class info are present, then the Background option will not appear
# for the Status Scene.
#--------------------------------------------------------------------------
# Here are the settings used for the background window. Adjust it as you
# see fit.
BIOGRAPHY ={
:font_size => 18,
:actor_bio => "%s's Background",
:class_des => "%s Description",
:noneavail => "No Information Available",
} # Do not remove this.

# When typing out biographies and descriptions, use [url=http://www.rpgmkrvx.com/file://\\N[x]\\N[x[/url]] to write out
# the actor's name if the game allows renaming. For line splits, use |
# at the each position you would want the description to start a new line.
# Use [url=http://www.rpgmkrvx.com/file://\\V[x]\\V[x[/url]] to display variables. Use ' and " to write out quotation
# marks without disrupting the string quotes.
ACTOR_BIOS ={ # If an actor ID is not listed here, then refer to class bio.
# ID => Background
1 => '\\N[1] is a very hot blooded young male whom ' +
'embarked on a|journey to save Don Miguel. ' +
'But given his reckless behaviour|and actions, ' +
'\\N[1] is known to give his team lots of trouble.',
2 => '\\N[2] trained as a warrior since she was ' +
'quite young. Due|to her militant past, she has ' +
'developed a rather tomboy-ish|personality. ' +
'\\N[2] loves training and is also a health nut.',
3 => '\\N[3] is the overzealous priest of [url=http://www.rpgmkrvx.com/file://\\N[1]'s]\\N[1]'s[/url] ' +
'party. His|actions speak louder than his words ' +
'and his words are|already loud enough. [url=http://www.rpgmkrvx.com/file://\\N[3]\\N[3[/url]] ' +
'is definitely one who choose|the wrong class.',
4 => '\\N[4] is the team's walking encyclopedia. ' +
'She just about|knows everything for each and ' +
'every situation. But aside|from that, [url=http://www.rpgmkrvx.com/file://\\N[4]\\N[4[/url]] ' +
'just doesn't have the actual life experience.',
} # Do not remove this.
CLASS_BIOS ={
# ID => Bio
1 => 'Knights are quick and powerful characters ' +
'that excel in|both melee and magic.',
2 => 'Defenders are very dedicated to defending ' +
'their party.',
3 => 'Priests focus on healing and aiding their ' +
"party members.|Don't let [url=http://www.rpgmkrvx.com/file://\\N[3]\\N[3[/url]] fool you.",
4 => 'Magicians excel in the magical arts and also ' +
'excel at|blasting their enemies to bits.',
} # Do not remove this.

end # STATUS
end # Y6

#==============================================================================
# Editting anything past this point may potentially result in causing computer
# damage, incontinence, explosion of user's head, coma, death, and/or halitosis
# so edit at your own risk.
#==============================================================================

#==============================================================================
# ** Numeric
#==============================================================================

class Numeric

#--------------------------------------------------------------------------
# new method: group_digits
#--------------------------------------------------------------------------
unless $imported["Y6-Core"]
def group(decimal = 2); return self; end
end # $imported["Y6-Core"]

end # Numeric

#==============================================================================
# ** Vocab
#==============================================================================

module Vocab

#--------------------------------------------------------------------------
# new method: self.exp
#--------------------------------------------------------------------------
def self.exp; return Y6::STATUS::EXP_TEXT; end

#--------------------------------------------------------------------------
# new method: self.exp_format
#--------------------------------------------------------------------------
def self.exp_format; return Y6::STATUS::PERCENT_EXP; end

end # Vocab

#===============================================================================
# ** Game_Battler
#===============================================================================

class Game_Battler

#--------------------------------------------------------------------------
# anti-crash method: maxmp_limit
#--------------------------------------------------------------------------
unless method_defined?(:maxmp_limit)
def maxmp_limit; return 9999; end
end # method_defined?(:maxmp_limit)

#--------------------------------------------------------------------------
# anti-crash method: parameter_limit
#--------------------------------------------------------------------------
unless method_defined?(:parameter_limit)
def maxmp_limit; return 999; end
end # method_defined?(:parameter_limit)

end # Game_Battler

#==============================================================================
# ** Game_Actor
#==============================================================================

class Game_Actor < Game_Battler

#--------------------------------------------------------------------------
# anti-crash method: parameter_limit
#--------------------------------------------------------------------------
unless $imported["Y6-BattleStats"]
def parameter_limit
return 999
end
end # $imported["Y6-BattleStats"]

#--------------------------------------------------------------------------
# new method: now_exp
#--------------------------------------------------------------------------
def now_exp
return @exp - @exp_list[@level]
end

#--------------------------------------------------------------------------
# new method: next_exp
#--------------------------------------------------------------------------
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end

end # Game_Actor

#==============================================================================
# ** Game_Temp
#==============================================================================

class Game_Temp

#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :last_status_index
attr_accessor :status_oy

end # Game_Temp

#==============================================================================
# ** Window_Base
#==============================================================================

class Window_Base < Window

#--------------------------------------------------------------------------
# new method: draw_actor_exp
#--------------------------------------------------------------------------
def draw_actor_exp(actor, x, y, width = 120)
draw_actor_exp_gauge(actor, x, y, width)
contents.font.color = system_color
contents.draw_text(x+2, y, 30, WLH, Vocab.exp)
contents.font.color = normal_color
last_font_size = contents.font.size
xr = x + width
if actor.next_exp == 0
text = sprintf(Vocab.exp_format, 100.0)
else
text = sprintf(Vocab.exp_format, actor.now_exp * 100.0 / actor.next_exp)
end
contents.draw_text(x+32, y, width-33, WLH, text, 1)
end

#--------------------------------------------------------------------------
# new method: draw_actor_exp_gauge
#--------------------------------------------------------------------------
def draw_actor_exp_gauge(actor, x, y, width = 120)
gc0 = gauge_back_color
gc1 = text_color(Y6::STATUS::EXP_GAUGE_1)
gc2 = text_color(Y6::STATUS::EXP_GAUGE_2)
gh = $imported["Y6-Core"] ? Y6::SETTING::GAUGE_HEIGHT : 6
gh += 2 if $imported["Y6-Core"] and Y6::SETTING::OUTLINE
gy = y + WLH - 8 - (gh - 6)
contents.fill_rect(x, gy, width, gh, gc0)
if $imported["Y6-Core"] and Y6::SETTING::OUTLINE
gy += 1
gh -= 2
width -= 2
end
if actor.next_exp == 0
gbw = width
else
gbw = width * actor.now_exp / [actor.next_exp, 1].max
end
x += 1 if $imported["Y6-Core"] and Y6::SETTING::OUTLINE
contents.gradient_fill_rect(x, gy, gbw, gh, gc1, gc2)
end

end # Window_Base

#==============================================================================
# ** Window_Command_Centered
#==============================================================================

class Window_Command_Centered < Window_Command

#--------------------------------------------------------------------------
# draw_item
#--------------------------------------------------------------------------
def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
contents.clear_rect(rect)
contents.font.color = normal_color
contents.font.color.alpha = enabled ? 255 : 128
contents.draw_text(rect, @commands[index], 1)
end

end # Window_Command_Centered

#==============================================================================
# ** Window_MenuStatus
#==============================================================================

class Window_MenuStatus < Window_Selectable

if Y6::STATUS::USE_FOR_MAIN_MENU
#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
@data = []
for member in $game_party.members do @data.push(member) end
@item_max = @data.size
create_contents
for i in [email=0...@item_max]0...@item_max[/email] do draw_item(i) end
end

#--------------------------------------------------------------------------
# draw_item
#--------------------------------------------------------------------------
def draw_item(index)
rect = item_rect(index)
actor = @data[index]
return if actor.nil?
draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
dx = 108; dy = WLH * 4 * index
dw = contents.width - dx - 120 - 4
draw_actor_name(actor, dx, dy)
draw_actor_class(actor, dx + 120, dy, dw)
draw_actor_level(actor, dx, dy + WLH * 1)
draw_actor_state(actor, dx, dy + WLH * 2)
draw_actor_hp(actor, dx + 120, dy + WLH * 1, dw)
draw_actor_mp(actor, dx + 120, dy + WLH * 2, dw)
draw_actor_exp(actor, dx + 120, dy + WLH * 3, dw)
end

#--------------------------------------------------------------------------
# draw_actor_class
#--------------------------------------------------------------------------
def draw_actor_class(actor, x, y, dw = 108)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, dw, WLH, actor.class.name)
end
end # Y6::STATUS::USE_FOR_MAIN_MENU

end # Window_MenuStatus

#==============================================================================
# ** Window_Actor_Status
#==============================================================================

class Window_Actor_Status < Window_Base

#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(160, 0, Graphics.width - 160, 128)
@actor = actor
refresh
end

#--------------------------------------------------------------------------
# actor=
#--------------------------------------------------------------------------
def actor=(new_actor)
return if new_actor == @actor
@actor = new_actor
refresh
end

#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
draw_actor_face(@actor, 0, 0)
dx = 108; dy = 0
dw = contents.width - dx - 120 - 4
draw_actor_name(@actor, dx, dy)
draw_actor_class(@actor, dx + 120, dy, dw)
draw_actor_level(@actor, dx, dy + WLH * 1)
draw_actor_state(@actor, dx, dy + WLH * 2)
draw_actor_hp(@actor, dx + 120, dy + WLH * 1, dw)
draw_actor_mp(@actor, dx + 120, dy + WLH * 2, dw)
draw_actor_exp(@actor, dx + 120, dy + WLH * 3, dw)
end

#--------------------------------------------------------------------------
# draw_actor_class
#--------------------------------------------------------------------------
def draw_actor_class(actor, x, y, dw = 108)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, dw, WLH, actor.class.name)
end

end # Window_Actor_Status

#==============================================================================
# ** Window_Status_General
#==============================================================================

class Window_Status_General < Window_Base

#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 128, Graphics.width, Graphics.height - 128)
@actor = actor
refresh
end

#--------------------------------------------------------------------------
# actor=
#--------------------------------------------------------------------------
def actor=(new_actor)
return if new_actor == @actor
@actor = new_actor
refresh
end

#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
stats = Y6::STATUS::SHOWN_STATS
dx = 24; dy = 0
dx = draw_icons(dx, dy, stats)
dx = draw_parameter_names(dx, dy, stats)
dx = draw_parameter_stats(dx, dy, stats)
draw_exp_information(dx, dy)
draw_equipments(dx, dy + WLH * 9 / 2)
end

#--------------------------------------------------------------------------
# draw_icons
#--------------------------------------------------------------------------
def draw_icons(dx, dy, stats)
return dx unless $imported["Y6-Iconview"]
if Y6::STATUS::SHOW_MAXHP
icon = Icon.stat_notext(:hp)
draw_icon(icon, dx, dy); dy += WLH
end
if Y6::STATUS::SHOW_MAXMP
icon = Icon.stat_notext(:mp)
draw_icon(icon, dx, dy); dy += WLH
end
dy += WLH / 2 if Y6::STATUS::SHOW_MAXHP or Y6::STATUS::SHOW_MAXMP
for stat in stats
case stat
when :atk, :def, :spi, :agi
# Do nothing!
when :res, :dex, :foc, :luk
next unless $imported["Y6-BattleStats"]
next if stat == :res and !Y6::STATS::RES_STAT_ENABLE
next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE
next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE
next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE
else; next
end
icon = Icon.stat_notext(stat)
draw_icon(icon, dx, dy); dy += WLH
end
return dx + 24
end

#--------------------------------------------------------------------------
# draw_parameter_names
#--------------------------------------------------------------------------
def draw_parameter_names(dx, dy, stats)
dw = 60
contents.font.color = system_color
if Y6::STATUS::SHOW_MAXHP
text = Y6::STATUS::MAXHP_TEXT
contents.draw_text(dx, dy, dw, WLH, text, 0); dy += WLH
end
if Y6::STATUS::SHOW_MAXMP
text = Y6::STATUS::MAXMP_TEXT
contents.draw_text(dx, dy, dw, WLH, text, 0); dy += WLH
end
dy += WLH / 2 if Y6::STATUS::SHOW_MAXHP or Y6::STATUS::SHOW_MAXMP
for stat in stats
case stat
when :atk, :def, :spi, :agi
# Do nothing!
when :res, :dex, :foc, :luk
next unless $imported["Y6-BattleStats"]
next if stat == :res and !Y6::STATS::RES_STAT_ENABLE
next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE
next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE
next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE
else; next
end
text = eval("Vocab." + stat.to_s)
contents.draw_text(dx, dy, dw, WLH, text, 0); dy += WLH
end
return dx + dw
end

#--------------------------------------------------------------------------
# draw_parameter_stats
#--------------------------------------------------------------------------
def draw_parameter_stats(dx, dy, stats)
maximum = [@actor.maxhp_limit, @actor.maxmp_limit,
@actor.parameter_limit].max
contents.font.color = normal_color
dw = contents.text_size(maximum.group).width + 24
if Y6::STATUS::SHOW_MAXHP
value = @actor.maxhp.group
contents.draw_text(dx, dy, dw, WLH, value, 2); dy += WLH
end
if Y6::STATUS::SHOW_MAXMP
value = @actor.maxmp.group
contents.draw_text(dx, dy, dw, WLH, value, 2); dy += WLH
end
dy += WLH / 2 if Y6::STATUS::SHOW_MAXHP or Y6::STATUS::SHOW_MAXMP
for stat in stats
case stat
when :atk, :def, :spi, :agi
# Do nothing!
when :res, :dex, :foc, :luk
next unless $imported["Y6-BattleStats"]
next if stat == :res and !Y6::STATS::RES_STAT_ENABLE
next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE
next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE
next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE
else; next
end
value = eval("@actor." + stat.to_s + ".group")
contents.draw_text(dx, dy, dw, WLH, value, 2); dy += WLH
end
dx += dw + 24
dx = contents.width / 2 + 24 unless dx > contents.width / 2
return dx
end

#--------------------------------------------------------------------------
# draw_exp_information
#--------------------------------------------------------------------------
def draw_exp_information(dx, dy)
contents.font.color = system_color
s1 = @actor.exp_s
s2 = @actor.next_rest_exp_s
s_next = sprintf(Vocab::ExpNext, Vocab::level)
dw = contents.width - dx - 28
contents.draw_text(dx, dy + WLH * 0, dw, WLH, Vocab::ExpTotal)
contents.draw_text(dx, dy + WLH * 2, dw, WLH, s_next)
contents.font.color = normal_color
contents.draw_text(dx, dy + WLH * 1, dw, WLH, s1, 2)
self.contents.draw_text(dx, dy + WLH * 3, dw, WLH, s2, 2)
end

#--------------------------------------------------------------------------
# draw_equipments
#--------------------------------------------------------------------------
def draw_equipments(dx, dy)
contents.font.color = system_color
dw = contents.width - dx - 28
contents.draw_text(dx, dy, dw, WLH, Y6::STATUS::EQUIPMENT)
for i in 0..4
draw_item_name(@actor.equips[i], dx + 16, dy + WLH * (i + 1))
end
end

end # Window_Status_General

#==============================================================================
# ** Window_Status_Background
#==============================================================================

class Window_Status_Background < Window_Base

#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 128, Graphics.width, Graphics.height - 128)
@actor = actor
refresh
end

#--------------------------------------------------------------------------
# actor=
#--------------------------------------------------------------------------
def actor=(new_actor)
return if new_actor == @actor
@actor = new_actor
refresh
end

#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
if Y6::STATUS::ACTOR_BIOS.include?(@actor.id)
draw_actor_bio
elsif Y6::STATUS::CLASS_BIOS.include?(@actor.class_id)
draw_class_bio
else
draw_nothing_available
end
end

#--------------------------------------------------------------------------
# draw_actor_bio
#--------------------------------------------------------------------------
def draw_actor_bio
contents.font.size = Font.default_size
contents.font.color = normal_color; dy = 0
text = sprintf(Y6::STATUS::BIOGRAPHY[:actor_bio], @actor.name)
contents.draw_text(0, dy, self.width-32, WLH*2, text, 1)
contents.font.size = Y6::STATUS::BIOGRAPHY[:font_size]
text = Y6::STATUS::ACTOR_BIOS[@actor.id]
txsize = Y6::STATUS::BIOGRAPHY[:font_size] + 4
nwidth = Graphics.width * 8
dx = 48; dy = WLH*2
text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
lines = text.split(/(?:[|]|\\n)/i)
lines.each_with_index { |l, i|
l.gsub!(/\\__(\[\d+\])/i) { "[url=http://www.rpgmkrvx.com/file://\\N#{$1]\\N#{$1[/url]}" }
self.contents.draw_text(dx, i * txsize + dy, nwidth, WLH, l, 0)}
end

#--------------------------------------------------------------------------
# draw_class_bio
#--------------------------------------------------------------------------
def draw_class_bio
contents.font.size = Font.default_size
contents.font.color = normal_color; dy = 0
text = sprintf(Y6::STATUS::BIOGRAPHY[:class_des], @actor.class.name)
contents.draw_text(0, dy, self.width-32, WLH*2, text, 1)
contents.font.size = Y6::STATUS::BIOGRAPHY[:font_size]
text = Y6::STATUS::CLASS_BIOS[@actor.class.id]
txsize = Y6::STATUS::BIOGRAPHY[:font_size] + 4
nwidth = Graphics.width * 8
dx = 48; dy = WLH*2
text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
lines = text.split(/(?:[|]|\\n)/i)
lines.each_with_index { |l, i|
l.gsub!(/\\__(\[\d+\])/i) { "[url=http://www.rpgmkrvx.com/file://\\N#{$1]\\N#{$1[/url]}" }
contents.draw_text(dx, i * txsize + dy, nwidth, WLH, l, 0)}
end

#--------------------------------------------------------------------------
# draw_nothing_available
#--------------------------------------------------------------------------
def draw_nothing_available
contents.font.color = normal_color
contents.font.size = Font.default_size
text = Y6::STATUS::BIOGRAPHY[:noneavail]
dy = contents.height / 2 - WLH
contents.draw_text(0, dy, contents.width, WLH, text, 1)
end

end # Window_Status_Background

#==============================================================================
# ** Window_Status_Parameters
#==============================================================================

class Window_Status_Parameters < Window_Base

#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 128, Graphics.width, Graphics.height - 128)
@actor = actor
refresh
end

#--------------------------------------------------------------------------
# actor=
#--------------------------------------------------------------------------
def actor=(new_actor)
return if new_actor == @actor
@actor = new_actor
refresh
end

#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
draw_background
calculate_settings
draw_stat_gauges
end

#--------------------------------------------------------------------------
# draw_background
#--------------------------------------------------------------------------
def draw_background
colour = gauge_back_color
colour.alpha = 128
dh = contents.height - WLH * 3 / 2
contents.fill_rect(0, WLH * 3 / 2, contents.width, dh, colour)
contents.font.size = Font.default_size
contents.font.color = normal_color
text = Y6::STATUS::PARAM_CHART_TITLE
contents.draw_text(0, 0, contents.width, WLH, text, 1)
end

#--------------------------------------------------------------------------
# calculate_settings
#--------------------------------------------------------------------------
def calculate_settings
array = []
for stat in Y6::STATUS::SHOWN_STATS
case stat
when :atk, :def, :spi, :agi
# Do nothing!
when :res, :dex, :foc, :luk
next unless $imported["Y6-BattleStats"]
next if stat == :res and !Y6::STATS::RES_STAT_ENABLE
next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE
next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE
next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE
else; next
end
array.push(eval("@actor." + stat.to_s))
end
@maximum = array.max
@minimum = array.min
end

#--------------------------------------------------------------------------
# draw_stat_gauges
#--------------------------------------------------------------------------
def draw_stat_gauges
dx = 4; dy = WLH * 2 + 3
for stat in Y6::STATUS::SHOWN_STATS
case stat
when :atk, :def, :spi, :agi
# Do nothing!
when :res, :dex, :foc, :luk
next unless $imported["Y6-BattleStats"]
next if stat == :res and !Y6::STATS::RES_STAT_ENABLE
next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE
next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE
next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE
else; next
end
draw_visual_gauge(dx, dy, stat)
dy += WLH
end
end

#--------------------------------------------------------------------------
# draw_visual_gauge
#--------------------------------------------------------------------------
def draw_visual_gauge(dx, dy, stat)
array = Y6::STATUS::STAT_GAUGE_COLOURS[stat]
gc0 = gauge_back_color
gc1 = Color.new(array[0], array[1], array[2])
gc2 = Color.new(array[3], array[4], array[5])
value = eval("@actor." + stat.to_s)
gh = 22
gy = dy + WLH - 8 - (gh - 6)
gfw = @maximum - @minimum
modifier = (contents.width / 3)
dw = contents.width - 8 - modifier
dw -= 24 if $imported["Y6-Iconview"]
gw = dw * (value - @minimum) / gfw + modifier
contents.fill_rect(dx, gy, gw, gh, gc0)
dx += 1
gy += 1
gh -= 2
gw -= 2
contents.gradient_fill_rect(dx, gy, gw, gh, gc1, gc2)
draw_gauge_icons(dx, dy, stat, gw) if $imported["Y6-Iconview"]
draw_param_names(dx, dy, stat, gw)
draw_param_values(dx, dy, stat, gw)
end

#--------------------------------------------------------------------------
# draw_gauge_icons
#--------------------------------------------------------------------------
def draw_gauge_icons(dx, dy, stat, gw)
icon = Icon.stat(stat, @actor)
draw_icon(icon, dx + gw, dy - 1)
end

#--------------------------------------------------------------------------
# draw_param_names
#--------------------------------------------------------------------------
def draw_param_names(dx, dy, stat, gw)
contents.font.color = normal_color
contents.font.size = Y6::STATUS::PARAM_FONT_SIZE
if $imported["Y6-BattleStats"]
text = eval("Vocab." + stat.to_s + "_name")
else
text = eval("Vocab." + stat.to_s)
end
contents.draw_text(dx + 1, dy, gw - 2, WLH, text, 0)
end

#--------------------------------------------------------------------------
# draw_param_values
#--------------------------------------------------------------------------
def draw_param_values(dx, dy, stat, gw)
contents.font.color = normal_color
contents.font.size = Y6::STATUS::PARAM_FONT_SIZE
value = eval("@actor." + stat.to_s + ".group")
contents.draw_text(dx, dy, gw - 2, WLH, value, 2)
end

end # Window_Status_Parameters

#==============================================================================
# ** Window_Status_Statistics
#==============================================================================

class Window_Status_Statistics < Window_Base

#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 128, Graphics.width, Graphics.height - 128)
@actor = actor
refresh
end

#--------------------------------------------------------------------------
# actor=
#--------------------------------------------------------------------------
def actor=(new_actor)
return if new_actor == @actor
@actor = new_actor
refresh
end

#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
draw_statistics_title
dy = WLH * 3 / 2
dy = draw_major_statistics(dy)
draw_bonus_statistics(dy)
end

#--------------------------------------------------------------------------
# draw_statistics_title
#--------------------------------------------------------------------------
def draw_statistics_title
@show_text = Y6::STATUS::ICONS_SHOW_ORIGINAL_STAT_TEXT
text = Y6::STATUS::STATISTICS_LIST_TITLE
contents.draw_text(0, 0, contents.width, WLH, text, 1)
end

#--------------------------------------------------------------------------
# draw_major_statistics
#--------------------------------------------------------------------------
def draw_major_statistics(dy)
stats = Y6::STATUS::SHOWN_STATS
dx = 0
mx = 0
dw = contents.width / 2 - 6
new_line = false
for stat in stats
case stat
when :dex
next unless Y6::STATS::DEX_STAT_ENABLE
text = Vocab.apn_name
value = @actor.apn * 100.0
when :foc
next unless Y6::STATS::FOC_STAT_ENABLE
text = Vocab.mpn_name
value = @actor.mpn * 100.0
when :luk
next unless Y6::STATS::LUK_STAT_ENABLE
text = Vocab.crm_name
value = @actor.crm * 100.0
else; next
end
if $imported["Y6-Iconview"]
icon = @show_text ? Icon.stat(stat, @actor) : Icon.stat_notext(stat)
draw_icon(icon, 0, dy)
mx = 24
end
contents.font.color = system_color
contents.draw_text(dx+mx, dy, dw, WLH, text, 0)
contents.font.color = normal_color
text = sprintf("%1.2f%%", value)
contents.draw_text(0, dy, dw, WLH, text, 2)
new_line = true
dy += WLH
end
dy += WLH / 2 if new_line
return dy
end

#--------------------------------------------------------------------------
# draw_bonus_statistics
#--------------------------------------------------------------------------
def draw_bonus_statistics(dy)
stats = Y6::STATUS::SHOWN_STATS
dx = 0
mx = 0
dw = contents.width / 2 - 6
for stat in stats
case stat
when :atk
next unless Y6::STATS::ATK_PDM_ENABLE
text = Vocab.pdm_name
value = @actor.pdm * 100.0
when :def
next unless Y6::STATS::DEF_PDR_ENABLE
text = Vocab.pdr_name
value = @actor.pdr * 100.0
when :spi
next unless Y6::STATS::INT_MDM_ENABLE
text = Vocab.mdm_name
value = @actor.mdm * 100.0
when :res
next unless Y6::STATS::RES_STAT_ENABLE
next unless Y6::STATS::RES_MDR_ENABLE
text = Vocab.mdr_name
value = @actor.mdr * 100.0
when :dex
next unless Y6::STATS::DEX_STAT_ENABLE
next unless Y6::STATS::DEX_HIT_ENABLE
text = Vocab.hit_name
value = @actor.hit
when :foc
next unless Y6::STATS::FOC_STAT_ENABLE
next unless Y6::STATS::FOC_TEN_ENABLE
text = Vocab.ten_name
value = @actor.ten * 100.0
when :luk
next unless Y6::STATS::LUK_STAT_ENABLE
next unless Y6::STATS::LUK_CRI_ENABLE
text = Vocab.cri_name
value = @actor.cri
when :agi
next unless Y6::STATS::AGI_EVA_ENABLE
text = Vocab.eva_name
value = @actor.eva
else; next
end
if $imported["Y6-Iconview"]
icon = @show_text ? Icon.stat(stat, @actor) : Icon.stat_notext(stat)
draw_icon(icon, dx, dy)
mx = 24
end
contents.font.color = system_color
contents.draw_text(dx+mx, dy, dw-mx, WLH, text, 0)
contents.font.color = normal_color
text = sprintf("%1.2f%%", value)
contents.draw_text(dx+mx, dy, dw-mx, WLH, text, 2)
if dx > dw
dy += WLH
dx = 0
else
dx = dw + 12
end
end
end

end # Window_Status_Statistics

#==============================================================================
# ** Scene_Status
#==============================================================================

class Scene_Status < Scene_Base

#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :help_window

#--------------------------------------------------------------------------
# overwrite method: start
#--------------------------------------------------------------------------
def start
super
create_menu_background
@actor = $game_party.members[@actor_index]
@status_window = Window_Actor_Status.new(@actor)
@help_window = Window_Help.new
@help_window.y = @status_window.height
create_command_window
end

#--------------------------------------------------------------------------
# overwrite method: terminate
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@status_window.dispose
@help_window.dispose
@command_window.dispose
for window in @windows; window.dispose unless window.disposed?; end
end

#--------------------------------------------------------------------------
# new method: create_command_window
#--------------------------------------------------------------------------
def create_command_window
@data = []
commands = []
@windows = []
for command in Y6::STATUS::COMMANDS
case command
when :general
@general_window = Window_Status_General.new(@actor)
@windows.push(@general_window)
when :background
@background_window = Window_Status_Background.new(@actor)
@windows.push(@background_window)
when :parameters
@parameters_window = Window_Status_Parameters.new(@actor)
@windows.push(@parameters_window)
when :statistics
next unless $imported["Y6-BattleStats"]
@statistics_window = Window_Status_Statistics.new(@actor)
@windows.push(@statistics_window)
when :performance
next unless $imported["Y6-Performance"]
@performance_window = Window_Status_Performance.new(@actor)
@performance_window.help_window = @help_window
@windows.push(@performance_window)
else; next
end
@data.push(command)
commands.push(Y6::STATUS::COMMAND_VOCAB[command])
end
@command_window = Window_Command_Centered.new(160, commands)
@command_window.height = 128
@command_window.active = true
#---
if $game_temp.last_status_index != nil
@command_window.oy = $game_temp.status_oy
@command_window.index = $game_temp.last_status_index
end
#---
update_visible_windows
end

#--------------------------------------------------------------------------
# new method: update_visible_windows
#--------------------------------------------------------------------------
def update_visible_windows
@help_window.y = Graphics.height * 8
for window in @windows; window.y = Graphics.height * 8; end
case @data[@command_window.index]
when :general
@general_window.y = @command_window.height
when :background
@background_window.y = @command_window.height
when :parameters
@parameters_window.y = @command_window.height
when :statistics
@statistics_window.y = @command_window.height
when :performance
@help_window.y = Graphics.height - @help_window.height
@performance_window.y = @command_window.height
@performance_window.update_help
end
end

#--------------------------------------------------------------------------
# overwrite method: next_actor
#--------------------------------------------------------------------------
def next_actor
@actor_index += 1
@actor_index %= $game_party.members.size
set_new_actor
end

#--------------------------------------------------------------------------
# overwrite method: prev_actor
#--------------------------------------------------------------------------
def prev_actor
@actor_index += $game_party.members.size - 1
@actor_index %= $game_party.members.size
set_new_actor
end

#--------------------------------------------------------------------------
# new method: set_new_actor
#--------------------------------------------------------------------------
def set_new_actor
$game_party.last_actor_index = @actor_index
@actor = $game_party.members[@actor_index]
@status_window.actor = @actor
for window in @windows; window.actor = @actor; end
end

#--------------------------------------------------------------------------
# overwrite method: update
#--------------------------------------------------------------------------
def update
super
update_menu_background
if @command_window.active
update_command_window
elsif [email=!@performance_window.nil]!@performance_window.nil[/email]? and @performance_window.active
update_performance_window
end
end

#--------------------------------------------------------------------------
# new method: update_command_window
#--------------------------------------------------------------------------
def update_command_window
@command_window.update
if $game_temp.last_status_index != @command_window.index
$game_temp.last_status_index = @command_window.index
$game_temp.status_oy = @command_window.oy
update_visible_windows
end
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
$game_temp.last_status_index = nil
$game_temp.status_oy = nil
elsif Input.repeat?(Input::LEFT)
Sound.play_cursor
prev_actor
elsif Input.repeat?(Input::RIGHT)
Sound.play_cursor
next_actor
elsif Input.trigger?(Input::C)
case @data[@command_window.index]
when :performance
Sound.play_decision
@performance_window.active = true
@performance_window.index = 0 if @performance_window.index < 0
@command_window.active = false
end
end
end

end # Scene_Status

#===============================================================================
#
# END OF FILE
#
#===============================================================================


Última edición por prodijames el Sáb 20 Abr 2013, 12:36 pm, editado 2 veces (Razón : puse el script en [code])
avatar
prodijames
0
0

Masculino

Edad 28

Cantidad de envíos 7

Maker Cash 10

Reputación 0


Volver arriba Ir abajo

RPG Maker Vx Re: 6 scripts en 1 (+ informacion)

Mensaje por Muzgar el Sáb 20 Abr 2013, 10:38 am

Primero, gracias por el aporte

Segundo leete las normas

•Sobre los Scripts:
*Todos los scripts que sean publicados directamente (sin demos) en los foros
deberán de ir entre [code] y no entre [spoiler] para que sea más fácil copiarlos.
(El [code] redimensiona automáticamente el contenido).

2 mensajes 2 infracciones y te han avisado de que te las leas. No debería darte otra oportunidad... pero te voy a dar un último aviso, leete las normas y no tendrás problemas. De todas formas te he editado el post y te lo he puesto en [Code]

3º Esto no lo dice ni una norma, es mas bien por consejo... pon imagenes para ver que hace el script, o al menos di que hace:

os traigo un script muy bueno para añadirle mucha informacion al epersonaje

Con eso no dices nada, ¿Que clase de información? ¿Donde estará la información? ¿Que es lo que hace para que yo piense "OMG! necesito este script en mi proyecto!"? xDDD Vamos no sé nada sobre que hace. Igual si leo el interior del script me aclare (por lo visto si, me he hecho una idea de que hace, pero está en inglés y esto es una comunidad hispana, se agradecería al menos una explicación en español xD) pero la cosa está en tener una explicación aparte.

Bueno, pues eso xD Se agradecería que tenga más explicaciones el post.

Un saludo
avatar
Muzgar
500
500

Masculino

Edad 26

Cantidad de envíos 700

Maker Cash 2738

Reputación 78


Volver arriba Ir abajo

RPG Maker Vx mira el mensaje

Mensaje por prodijames el Sáb 20 Abr 2013, 12:29 pm

ola muchas gracias por tus consejos y por ayudarme. este era mi primer post que ago y no sabia muy bien como acerlo . ¿como pongo eso ke me as puesto tu de code?
avatar
prodijames
0
0

Masculino

Edad 28

Cantidad de envíos 7

Maker Cash 10

Reputación 0


Volver arriba Ir abajo

RPG Maker Vx Re: 6 scripts en 1 (+ informacion)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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