Estou usando o tamanho de janela 640x480, então me sobra bastante espaço do lado direito, não estou conseguindo encontrar a parte que configura a posição da imagem do characterX (o gráfico do personagem) quero mudar para que fique aparecendo mais a direita.
#==============================================================================
# +++ MOG - Scene Character Select V1.0 | Hidden Characters Unselectable Mod
#==============================================================================
# By Moghunter
# Hidden Characters Unselectable Mod Author: SoulPour777
# Description: Adds other characters you do not want to be seen into the
# character selection.
# http://www.atelier-rgss.com/
#==============================================================================
=begin
Notes:
The $MOG_Actor_Playable = 6 is the variable that takes how many characters
in the database you want to be shown when the character select script call
is activated. Changing the variable value would also change the number
of actors shown. Please do not edit nor change MOG_Actor_Hidden_Number's
value.
=end
class Mog_Set_Up
def initialize
$MOG_Actor_Playable = 2
$MOG_Actor_Hidden_Number = $MOG_Actor_Playable + 1
end
end
class Window_Base < Window
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_char_window_status
#--------------------------------------------------------------------------
def draw_char_window_status(x,y)
image = Cache.system("Char_Status_Layout")
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
#===============================================================================
# ■ RPG_FileTest
#===============================================================================
module RPG_FileTest
#--------------------------------------------------------------------------
# ● RPG_FileTest.system_exist?
#--------------------------------------------------------------------------
def RPG_FileTest.system_exist?(filename)
return Cache.system(filename) rescue return false
end
#--------------------------------------------------------------------------
# ● RPG_FileTest.picture_exist?
#--------------------------------------------------------------------------
def RPG_FileTest.picture_exist?(filename)
return Cache.picture(filename) rescue return false
end
end
#==============================================================================
# ** Window_Character_Status
#==============================================================================
class Window_Character_Status < Window_Base
attr_accessor :index
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 400, 130)
self.opacity = 0
actor_id = []
@index = actor
for i in 1...$MOG_Actor_Hidden_Number
actor_id.push($game_actors[i])
end
@actor = actor_id[actor -1]
refresh
end
#--------------------------------------------------------------------------
# ● Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.bold = true
self.contents.font.italic = true
draw_char_window_status(0, 6)
draw_actor_face(@actor, 0, 0)
draw_actor_name(@actor, 140, -5)
draw_actor_class(@actor, 60, 70)
draw_picture_number(155,20,@actor.mhp, "Number_char",1)
draw_picture_number(145,48,@actor.mmp, "Number_char",1)
draw_picture_number(228,28,@actor.atk, "Number_char",1)
draw_picture_number(297,28,@actor.def, "Number_char",1)
draw_picture_number(207,68,@actor.mat, "Number_char",1)
draw_picture_number(277,68,@actor.agi, "Number_char",1)
end
end
#==============================================================================
# ■ Scene Character Select
#==============================================================================
class Scene_Character_Select
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize
setup
create_layout
$MOG = Mog_Set_Up.new
@char_max = $MOG_Actor_Playable
create_window_status
create_char_image
reset_position(0)
end
#--------------------------------------------------------------------------
# ● Setup
#--------------------------------------------------------------------------
def setup
@char_index = 1
@char_max = $data_actors.size - 1
@pw_x = 300
@aw_x = 200
@nw_x = 100
end
#--------------------------------------------------------------------------
# ● Main
#--------------------------------------------------------------------------
def main
Graphics.transition
execute_loop
execute_dispose
end
#--------------------------------------------------------------------------
# ● Execute Loop
#--------------------------------------------------------------------------
def execute_loop
loop do
Graphics.update
Input.update
update
if SceneManager.scene != self
break
end
end
end
#--------------------------------------------------------------------------
# ● create_background
#--------------------------------------------------------------------------
def create_layout
@background = Plane.new
@background.bitmap = Cache.system("Background")
@background.z = 0
@layout_01 = Sprite.new
@layout_01.bitmap = Cache.system("Char_Layout01")
@layout_01.z = 10
@layout_02 = Sprite.new
@layout_02.bitmap = Cache.system("Char_Layout02")
@layout_02.blend_type = 1
@layout_02.z = 1
end
#--------------------------------------------------------------------------
# ● create_window_status
#--------------------------------------------------------------------------
def create_window_status
@window_status = []
for i in 1...$MOG_Actor_Hidden_Number
@window_status[i] = Window_Character_Status.new(i)
@window_status[i].z = 7
end
check_active_window
end
#--------------------------------------------------------------------------
# ● create_window_status
#--------------------------------------------------------------------------
def create_char_image
@actor_picture = []
actor_id = []
for i in 1...$MOG_Actor_Hidden_Number
actor_id.push($game_actors[i])
actor = actor_id[i - 1]
@actor_picture[i] = Sprite.new
file_name = "Character" + i.to_s
file_name = "" unless RPG_FileTest.picture_exist?(file_name)
@actor_picture[i].bitmap = Cache.picture(file_name)
end
check_active_picture
end
#--------------------------------------------------------------------------
# ● check_active_window
#--------------------------------------------------------------------------
def check_active_window
for i in 1...$MOG_Actor_Hidden_Number
@pw = @char_index - 1
@pw = 1 if @pw > @char_max
@pw_y = 32
@pw = @char_max if @pw < 1
@aw = @char_index
@aw_y = 160
@nw = @char_index + 1
@nw = 1 if @nw > @char_max
@nw = @char_max if @nw < 1
@nw_y = 288
case @window_status[i].index
when @pw,@aw,@nw
@window_status[i].visible = true
else
@window_status[i].visible = false
end
end
end
#--------------------------------------------------------------------------
# ● check_active_picture
#--------------------------------------------------------------------------
def check_active_picture
for i in 1...$MOG_Actor_Hidden_Number
case @window_status[i].index
when @pw,@aw,@nw
@actor_picture[i].visible = true
@actor_picture[@pw].z = 4
@actor_picture[@aw].z = 6
@actor_picture[@nw].z = 4
@actor_picture[@pw].opacity = 120
@actor_picture[@aw].opacity = 255
@actor_picture[@nw].opacity = 120
else
@actor_picture[i].visible = false
end
end
end
#--------------------------------------------------------------------------
# ● terminate
#--------------------------------------------------------------------------
def execute_dispose
RPG::BGM.fade(2500)
Graphics.fadeout(60)
Graphics.wait(40)
RPG::BGM.stop
for i in 1...$MOG_Actor_Hidden_Number
@window_status[i].dispose
@actor_picture[i].bitmap.dispose
@actor_picture[i].dispose
end
@background.bitmap.dispose
@background.dispose
@layout_01.bitmap.dispose
@layout_01.dispose
@layout_02.bitmap.dispose
@layout_02.dispose
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
@background.ox += 1
update_select
update_slide_window
update_slide_image
end
#--------------------------------------------------------------------------
# ● update_slide_window
#--------------------------------------------------------------------------
def update_slide_window
@window_status[@aw].x += 1 if @window_status[@aw].x < 0
@window_status[@nw].x -= 2 if @window_status[@nw].x > -30
@window_status[@pw].x -= 2 if @window_status[@pw].x > -30
slide_window_y(@pw,@pw_y)
slide_window_y(@aw,@aw_y)
slide_window_y(@nw,@nw_y)
end
#--------------------------------------------------------------------------
# ● update_slide_image
#--------------------------------------------------------------------------
def update_slide_image
slide_picture_x(@pw,@pw_x,15)
slide_picture_x(@aw,@aw_x,5)
slide_picture_x(@nw,@nw_x,15)
end
#--------------------------------------------------------------------------
# ● slide_picture_x
#--------------------------------------------------------------------------
def slide_picture_x(i,x_pos,speed)
if @actor_picture[i].x < x_pos
@actor_picture[i].x += speed
@actor_picture[i].x = x_pos if @actor_picture[i].x > x_pos
end
if @actor_picture[i].x > x_pos
@actor_picture[i].x -= speed
@actor_picture[i].x = x_pos if @actor_picture[i].x < x_pos
end
end
#--------------------------------------------------------------------------
# ● slide_window_y
#--------------------------------------------------------------------------
def slide_window_y(i,y_pos)
if @window_status[i].y < y_pos
@window_status[i].y += 15
@window_status[i].y = y_pos if @window_status[i].y > y_pos
end
if @window_status[i].y > y_pos
@window_status[i].y -= 15
@window_status[i].y = y_pos if @window_status[i].y < y_pos
end
end
#--------------------------------------------------------------------------
# ● reset_position
#--------------------------------------------------------------------------
def reset_position(diretion)
check_active_window
check_active_picture
case diretion
when 0
@window_status[@pw].y = -64
@actor_picture[@pw].x = 100
when 1
@window_status[@nw].y = 440
@actor_picture[@nw].x = 400
end
end
#--------------------------------------------------------------------------
# ● update_select
#--------------------------------------------------------------------------
def update_select
if Input.trigger?(Input::DOWN) or Input.trigger?(Input::LEFT)
Sound.play_cursor
@char_index += 1
@char_index = 1 if @char_index > @char_max
if @char_max < 3
reset_position(0)
else
reset_position(1)
end
elsif Input.trigger?(Input::UP) or Input.trigger?(Input::RIGHT)
Sound.play_cursor
@char_index -= 1
@char_index = @char_max if @char_index < 1
reset_position(0)
elsif Input.trigger?(Input::C)
Sound.play_ok
$game_party.add_actor(@char_index)
SceneManager.return
end
end
end
$mog_rgss3_scene_character_select = true
Um cara desenvolvendo um jogo de RPG...
" Faça o melhor que puder em tudo, simples assim."
- Hategum RPG.