Introdução
Estava dando uma lida na parte de scripts do Discord da comunidade VXA-OS e achei interessante
A janela de status que o Essence compartilhou mencionando Cameron não sei qual deles é o criador do script mas deixo aqui
crédito aos dois
eu fiz umas modificações e abaixo nas printscreens dá para perceber algumas coisas extras
Antes de tudo faça um backup do seu projeto
Printscreen
As cores das letras podem ser trocadas tanto do layout como do que vai na frente
false=face
true=sprite
No topo do script tem false ou true para remover face ou sprite do personagem
true=face
false=sprite
Como podem ver tem Prospecção isso é usado para dar uma vantagem a mais de drop para o personagem ou classe
Que optar por essa build ela é baseada em luk (sorte) * 0.01 isso é modificável no script claro que precisa de mais detalhes no database do jogo para isso realmente funcionar mas o ponta pé está dado basta você ajustar
foi acrescentado prospecção ,nome do personagem, classe, nível , guilda , sprite do personagem e face
alteração de cores , mudanças no layout
*modificado alguns cálculos (mas fique a vontade para ajustar ao seu jogo )
Procure pelo Script [VS]Window_Status e substitua por todo esse script
- Código:
#==============================================================================
# ** Module ColorSettings
#------------------------------------------------------------------------------
# Este módulo permite a manipulação de cores para atributos e demais escritas.
# Use RGB para definir as cores.
#------------------------------------------------------------------------------
# Autor: Valentine Cameron, Essence e Merim
#==============================================================================
module ColorSettings
# Cores para atributos (param_id)
ATTRIBUTE_COLOR = Color.new(216, 191, 216) # cor
# Cores para demais escritas (HP, MP, Pontos, etc)
TEXT_COLOR = Color.new(255, 255, 255) # cor
# Cores para rótulos (Nome, Classe, Nível, Guilda)
LABEL_COLOR = Color.new(255, 255, 255) # cor
end
#==============================================================================
# ** Module DisplaySettings
#------------------------------------------------------------------------------
# Este módulo permite a ativação ou desativação da exibição da sprite e da face.
# Use true ou false para controlar a exibição.
#------------------------------------------------------------------------------
# Autor: Valentine mod: Merim
#==============================================================================
module DisplaySettings
# Controle da exibição da sprite
SHOW_SPRITE = true
# Controle da exibição da face
SHOW_FACE = true
end
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# Esta classe lida com a janela de informações do jogador, como parâmetros, classe e pontos.
#------------------------------------------------------------------------------
# Autor: Valentine mod: Merim
#==============================================================================
class Window_Status < Window_Base
def initialize
super(adjust_x, 165, 412, 190)
self.visible = false
self.closable = true
self.windowskin = Cache.system('Window3')
contents.font.size = 16
@dragable = true
self.title = Vocab.status
@param_buttons = []
8.times do |param_id|
@param_buttons << Image_Button.new(self, 56, 18 * param_id + 29, 'Plus') { $network.send_add_param(param_id) }
end
end
def adjust_x
Graphics.width - 874
end
def refresh
contents.clear
change_color(ColorSettings::TEXT_COLOR)
(2...8).each do |param_id|
draw_text(0, 18 * param_id + 18, 40, line_height, "#{Vocab::param(param_id)}")
end
draw_text(0, 0, 60, line_height, Vocab::Points)
change_color(ColorSettings::ATTRIBUTE_COLOR)
(2...8).each do |param_id|
draw_text(26, 18 * param_id + 18, 40, line_height, $game_actors[1].param(param_id))
end
draw_text(40, 0, 40, line_height, $game_actors[1].points > 0 ? $game_actors[1].points : 0)
@param_buttons.each { |button| button.enable = $game_actors[1].points > 0 }
# Informações adicionais
change_color(ColorSettings::TEXT_COLOR)
draw_text(132, 0, 90, line_height, "Informação")
draw_text(132, 1, 90, line_height, "__________")
draw_text(112, 15 + 2, 90, line_height, "Dano")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(150, 15 + 2, 90, line_height, "#{$game_actors[1].atk * 6 / 2 - 1}~#{$game_actors[1].atk * 9 / 2 - 1}")
change_color(ColorSettings::TEXT_COLOR)
draw_text(113, 30 + 2, 90, line_height, "Defesa")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(157, 30 + 2, 90, line_height, "#{$game_actors[1].def * 6 / 2 - 1}~#{$game_actors[1].def * 9 / 2 - 1}")
change_color(ColorSettings::TEXT_COLOR)
draw_text(112, 45 + 4, 90, line_height, "Ataque M.")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(165, 45 + 4, 90, line_height, "#{$game_actors[1].mat * 6 / 2 - 1}~#{$game_actors[1].mat * 9 / 2 + 1}")
change_color(ColorSettings::TEXT_COLOR)
draw_text(112, 60 + 6, 90, line_height, "Defesa M.")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(169, 60 + 6, 90, line_height, "#{$game_actors[1].mdf * 6 / 2 - 1}~#{$game_actors[1].mdf * 9 / 2 + 1}")
# Hit, crit etc
change_color(ColorSettings::TEXT_COLOR)
draw_text(112, 75 + 6, 90, line_height, "Crítico")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(169, 75 + 6, 90, line_height, "#{(($game_actors[1].agi + $game_actors[1].luk) / 20).to_i}%")
change_color(ColorSettings::TEXT_COLOR)
draw_text(112, 90 + 8, 90, line_height, "Acerto")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(162, 90 + 8, 90, line_height, "#{$game_actors[1].hit * 100}%")
change_color(ColorSettings::TEXT_COLOR)
draw_text(112, 105 + 10, 90, line_height, "Dano Crítico")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(180, 105 + 10, 90, line_height, "#{$game_actors[1].luk*1}%")
change_color(ColorSettings::TEXT_COLOR)
draw_text(112, 120 + 12, 90, line_height, "Equiva")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(150, 120 + 12, 90, line_height, "#{$game_actors[1].agi}")
# Prospecção
change_color(ColorSettings::TEXT_COLOR)
draw_text(112, 135 + 14, 90, line_height, "Prospecção")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(180, 135 + 14, 90, line_height, "#{($game_actors[1].luk * 0.01).to_i}")
# HP MP
change_color(ColorSettings::TEXT_COLOR)
draw_text(0, 18, 70, line_height, "HP:")
draw_text(0, 36, 70, line_height, "MP:")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(26, 18, 70, line_height, "#{$game_actors[1].mhp / 10}")
draw_text(26, 36, 70, line_height, "#{$game_actors[1].mmp / 10}")
# Nome do personagem e demais rótulos
change_color(ColorSettings::LABEL_COLOR)
draw_text(260, 0, 60, line_height, "Nome:")
draw_text(260, 20, 60, line_height, "Classe:")
draw_text(260, 40, 60, line_height, "Nível:")
draw_text(260, 60, 60, line_height, "Guilda:")
change_color(ColorSettings::ATTRIBUTE_COLOR)
draw_text(320, 0, 80, line_height, "#{$game_actors[1].name}")
draw_text(320, 20, 80, line_height, "#{$game_actors[1].class.name}")
draw_text(320, 40, 80, line_height, "#{$game_actors[1].level}")
draw_text(320, 60, 80, line_height, "#{$game_actors[1].guild_name.empty? ? ' ' : $game_actors[1].guild_name}")
# Face do jogador
if DisplaySettings::SHOW_FACE
draw_actor_face($game_actors[1], 290, 80) # Ajustar a posição horizontal para a esquerda
end
# Sprite do jogador
if DisplaySettings::SHOW_SPRITE
draw_actor_graphic($game_actors[1], 320, 150) # Descer a sprite
end
# Base abaixo do char
draw_base(320, 200)
end
def draw_base(x, y)
change_color(ColorSettings::TEXT_COLOR)
draw_text(x - 40, y, 80, line_height, "________")
end
end
Qualquer bug ou algo do tipo favor reportar nesse post , até o presente momento não tive nenhum
Grande abraço ! e bom desenvolvimento a todos.