Moins , da ich grad am battle system rumbaue hab ich nebenbei das battlemenü verändert und möchts euch zur verfügung stellen für den ders möchte
für verbesserungsvorschläge bin ich offen
hier ein paar screenshots
(http://www.sturmf4lke.de/easy/screen/screen1.JPG)
(http://www.sturmf4lke.de/easy/screen/screen2.JPG)
(http://www.sturmf4lke.de/easy/screen/screen3.JPG)
(http://www.sturmf4lke.de/easy/screen/screen4.JPG)
CustomBattleScreen v0.1
#==============================================================================
# CustomBattleScreen
# Version : 0.1
# Created by : hellMinor
#==============================================================================
#==============================================================================
class Window_BattleStatus < Window_Selectable
#==============================================================================
def initialize
super(0, 0, 160, 416)
refresh
self.active = false
end
#------------------------------------------------------------------------------
def item_rect(index)
rect = Rect.new(0, 0, 0, 0)
rect.width = 126
rect.height = 96
rect.y = index / @column_max * 96
return rect
end
#------------------------------------------------------------------------------
def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
actor = $game_party.members[index]
draw_actor_name(actor, 3, rect.y)
draw_actor_state(actor, 35, rect.y+20, 48)
draw_actor_graphic(actor,18,rect.y+55)
draw_actor_mp(actor, 35, rect.y+45, 88)
draw_actor_hp(actor, 3, rect.y+65, 120)
end
#------------------------------------------------------------------------------
def draw_actor_name(actor, x, y)
self.contents.font.color = hp_color(actor)
self.contents.draw_text(x, y, 108, WLH, actor.name, 1)
end
end
#==============================================================================
class Window_PartyCommand < Window_Command
#==============================================================================
def initialize
s1 = Vocab::fight
s2 = Vocab::escape
super(385, [s1, s2], 2, 1)
draw_item(0, true)
draw_item(1, $game_troop.can_escape)
self.active = false
end
#------------------------------------------------------------------------------
def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(rect, @commands[index], 1)
end
end
#==============================================================================
class Window_ActorCommand < Window_Command
#==============================================================================
def initialize
super(385, [], 4, 1)
self.active = false
end
#------------------------------------------------------------------------------
def setup(actor)
s1 = Vocab::attack
s2 = Vocab::skill
s3 = Vocab::guard
s4 = Vocab::item
if actor.class.skill_name_valid
s2 = actor.class.skill_name
end
@commands = [s1,s2, s3, s4]
@item_max = 4
refresh
self.index = 0
end
#------------------------------------------------------------------------------
def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(rect, @commands[index], 1)
end
end
#==============================================================================
class Window_TargetEnemy < Window_Command
#==============================================================================
def initialize
commands = []
@enemies = []
for enemy in $game_troop.members
next unless enemy.exist?
commands.push(enemy.name)
@enemies.push(enemy)
end
super(160, commands, 1, 8)
end
#------------------------------------------------------------------------------
def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(rect, @commands[index], 1)
end
end
#==============================================================================
class Scene_Battle < Scene_Base
#==============================================================================
def create_info_viewport
@info_viewport = Viewport.new(0, 0, 544, 480)
@info_viewport.z = 100
@status_window = Window_BattleStatus.new
@party_command_window = Window_PartyCommand.new
@actor_command_window = Window_ActorCommand.new
@status_window.viewport = @info_viewport
@party_command_window.viewport = @info_viewport
@actor_command_window.viewport = @info_viewport
@party_command_window.x = 159
@party_command_window.y = 360
@status_window.x = 0
@actor_command_window.x = 159
@actor_command_window.y = 360
@actor_command_window.visible = false
@info_viewport.visible = false
end
#------------------------------------------------------------------------------
def update_info_viewport
@party_command_window.update
@actor_command_window.update
@status_window.update
if @party_command_window.active
@party_command_window.visible = true
@actor_command_window.visible = false
elsif @actor_command_window.active
@actor_command_window.visible = true
@party_command_window.visible = false
end
end
#------------------------------------------------------------------------------
def start_target_enemy_selection
@target_enemy_window = Window_TargetEnemy.new
@target_enemy_window.y = 193
@info_viewport.rect.x += @target_enemy_window.width
@info_viewport.ox += @target_enemy_window.width
@actor_command_window.active = false
end
#------------------------------------------------------------------------------
def start_skill_selection
@help_window = Window_Help.new
@skill_window = Window_Skill.new(0, 55, 544, 306, @active_battler)
@skill_window.help_window = @help_window
@actor_command_window.active = false
end
#------------------------------------------------------------------------------
def start_item_selection
@help_window = Window_Help.new
@item_window = Window_Item.new(0, 55, 544, 306)
@item_window.help_window = @help_window
@actor_command_window.active = false
end
end