Hello guys, asking for help for a small change :grin:
This script changes the status window, and with the keys Q and W will change character..
But how do I change these two keys with others at will?
I can not find the piece of code :blank:
Thanks ^^
This script changes the status window, and with the keys Q and W will change character..
But how do I change these two keys with others at will?
I can not find the piece of code :blank:
Code:
#===============================================================================
#
# Cozziekuns' Status Screen
# Last Date Updated: 4/10/2010
#
# A status screen. A nice looking one at that.
#
#===============================================================================
# Updates
# -----------------------------------------------------------------------------
# o 05/03/10 - Started Script.
#===============================================================================
# What's to come?
# -----------------------------------------------------------------------------
# o I dunno. You tell me!
#===============================================================================
# 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. You can
# edit the modules as you wish.
#
# The background images should be of size 544 * 416. When importing a background
# image, import it to the folder Graphics/Pictures. The name of the actor should
# be on the name of the file, followed by _bg.
#
# Example: Raven_bg
#===============================================================================
module COZZIEKUNS
BACKGROUND_OPACITY = 100
HP_ICON = 99
MP_ICON = 100
EXP_ICON = 98
LEVEL_ICON = 62
ATTACK_ICON = 26
DEFENSE_ICON = 52
SPIRIT_ICON = 20
AGILITY_ICON = 49
CLASS_ICONS ={
0 => 0,
1 => 16,
2 => 32,
3 => 21,
4 => 8,
}
BIOGRAPHIES ={
# Actor => Biography
0 => "I like pie.",
1 => "Our average hero who hails|from a family that lives in|poverty.",
2 => "Our hero's best friend, but|sometimes worst rival. Can|be irrational at times.",
3 => "Our 3rd hero, a magician|with a nice personality,|and has powerful skills|to boot.",
4 => "Our 4th hero, a thief|shrouded in mystery. Not|much is known about Sora,|except she's damn pro.",
}
end
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Get Experience String
#--------------------------------------------------------------------------
def exp_s
return @exp_list[@level+1] > 0 ? @exp : 1
end
#--------------------------------------------------------------------------
# * Get String for Next Level Experience
#--------------------------------------------------------------------------
def next_exp_s
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] : 1
end
#--------------------------------------------------------------------------
# * Get String for Experience to Next Level
#--------------------------------------------------------------------------
def next_rest_exp_s
return @exp_list[@level+1] > 0 ?
(@exp_list[@level+1] - @exp) : 1
end
end
#==============================================================================
# ** Scene_Status
#------------------------------------------------------------------------------
# This class performs the status screen processing.
#==============================================================================
class Scene_Status < Scene_Base
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
alias coz_start start
def start
coz_start
@bio_window = Window_Biography.new(@actor)
@statushelp_window = Window_StatusHelp.new(0, 356)
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
alias coz_terminate terminate
def terminate
coz_terminate
@bio_window.dispose
@statushelp_window.dispose
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# This is a superclass of all windows in the game.
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# * Get Exp Gauge Colour 1
#--------------------------------------------------------------------------
def exp_gauge_colour1
return text_color(7)
end
#--------------------------------------------------------------------------
# * Get Exp Gauge Colour 2
#--------------------------------------------------------------------------
def exp_gauge_colour2
return text_color(8)
end
end
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Window_Status < Window_Base
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@hp_icon = COZZIEKUNS::HP_ICON
@mp_icon = COZZIEKUNS::MP_ICON
@exp_icon = COZZIEKUNS::EXP_ICON
@level_icon = COZZIEKUNS::LEVEL_ICON
@atk_icon = COZZIEKUNS::ATTACK_ICON
@def_icon = COZZIEKUNS::DEFENSE_ICON
@spi_icon = COZZIEKUNS::SPIRIT_ICON
@agi_icon = COZZIEKUNS::AGILITY_ICON
draw_actor_back(@actor, 0, 0)
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 160, 0)
draw_icon(62, 128, 32)
draw_icon(98, 128, WLH * 3 + 32)
draw_icon(99, 128, WLH + 32)
draw_icon(100, 128, WLH * 2 + 32)
draw_icon(26, 320, 33)
draw_icon(52, 320, 33 + WLH + 1)
draw_icon(20, 320, 33 + WLH * 2 + 2)
draw_icon(49, 320, 33 + WLH * 3 + 3)
if COZZIEKUNS::CLASS_ICONS.include?(@actor.id)
@icon_number = COZZIEKUNS::CLASS_ICONS[@actor.id]
else
@icon_number = COZZIEKUNS::CLASS_ICONS[0]
end
draw_icon(@icon_number, 128, 0)
draw_actor_face(@actor, 8, 32)
draw_basic_info(160, 32)
draw_parameters(352, 32)
draw_actor_tnl(@actor, 160, WLH * 3 + 32)
draw_equipments(288, 154)
self.contents.font.color = system_color
self.contents.draw_text(320, 0, 80, WLH, "Status:", 0)
end
#--------------------------------------------------------------------------
# * Draw Basic Information
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_basic_info(x, y)
draw_actor_level(@actor, x, y + WLH * 0)
draw_actor_state(@actor, 400, 0)
draw_actor_hp(@actor, x, y + WLH * 1)
draw_actor_mp(@actor, x, y + WLH * 2)
end
#--------------------------------------------------------------------------
# * Draw Actor Back
# actor : the actor you want
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_actor_back(actor, x, y)
@rect_height = 416
@background_opacity = COZZIEKUNS::BACKGROUND_OPACITY
bitmap = Cache.picture(actor.name + "_bg")
rect = Rect.new(0, 0, 0, 0)
rect.x = 0
rect.y = 0
rect.width = 544
rect.height = @rect_height
self.contents.blt(x, y, bitmap, rect, @background_opacity)
bitmap.dispose
end
#--------------------------------------------------------------------------
# * Draw Equipment
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_equipments(x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 120, WLH, Vocab::equip + "s:")
for i in 0..4
draw_item_name(@actor.equips[i], x + 16, y + 11 + WLH * (i + 1))
end
end
#--------------------------------------------------------------------------
# * Draw TNL (To next level)
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : Width
#--------------------------------------------------------------------------
def draw_actor_tnl(actor, x, y, width = 120)
draw_actor_tnl_gauge(actor, x, y, width)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 30, WLH, "E")
self.contents.font.color = hp_color(actor)
last_font_size = self.contents.font.size
xr = x + width
if width < 120
self.contents.draw_text(xr - 44, y, 44, WLH, actor.exp_s, 2)
else
self.contents.draw_text(xr - 99, y, 44, WLH, actor.exp_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
self.contents.draw_text(xr - 44, y, 44, WLH, actor.next_exp_s, 2)
end
end
#--------------------------------------------------------------------------
# * Draw TNL gauge
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : Width
#--------------------------------------------------------------------------
def draw_actor_tnl_gauge(actor, x, y, width = 120)
gw = width * actor.exp_s / actor.next_exp_s
gc1 = exp_gauge_colour1
gc2 = exp_gauge_colour2
self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
end
end
#==============================================================================
# ** Window_Biography
#------------------------------------------------------------------------------
# Basically what Yanfly did. Kudos to you, Yanfly.
#==============================================================================
class Window_Biography < Window_Base
#--------------------------------------------------------------------------
# * Initalize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 154, 288, 416)
@actor = actor
self.opacity = 0
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 284, WLH, "Biography:", 0)
self.contents.font.color = normal_color
self.contents.font.size = 20
y = 32
txsize = 24
nwidth = 284
if COZZIEKUNS::BIOGRAPHIES.include?(@actor.id)
text = COZZIEKUNS::BIOGRAPHIES[@actor.id]
else
text = COZZIEKUNS::BIOGRAPHIES[0]
end
buf = text.gsub(/\\\\N(\\[\\d+\\])/i) { "\\\\__#{$1}" }
lines = buf.split(/(?:[|]|\\\\n)/i)
lines.each_with_index { |l, i|
l.gsub!(/\\\\__(\\[\\d+\\])/i) { "\\\\N#{$1}" }
self.contents.draw_text(4, i * txsize + y, nwidth, WLH, l, 0)
}
end
end
#==============================================================================
# ** Window_Status_Help
#------------------------------------------------------------------------------
# Helps you out, I guess...
#==============================================================================
class Window_StatusHelp < Window_Base
#--------------------------------------------------------------------------
# * Initalize
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 544, 60)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.draw_text(4, 0, 544, WLH, "Press Q and W to switch characters. Press X to exit.")
end
end
Thanks ^^