Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Angelo Menu
Autor Wiadomość
Loki 




Preferowany:
RPG Maker VX

Pomógł: 12 razy
Dołączył: 25 Kwi 2012
Posty: 162
Wysłany: Czw 28 Cze, 2012 11:40
Angelo Menu
~ Angelo Menu ~


Autor:
Brando

Kompatybilność:
RPG Maker VX Ace

Skrypt:
Spoiler:

Kod:
#==============================================================================
# ■ Angelo Menu α (alpha)
#------------------------------------------------------------------------------
#  Created by Brandon *** No customization options *** Plug N' Play!
#==============================================================================

class Window_MenuCommand < Window_Command
 
  def self.init_command_position
    @@last_command_symbol = nil
  end
 
  def initialize
    super(0, 368)
    select_last
    self.opacity = 0
  end
 
  def window_width
    return 544
  end

  def visible_line_number
    return 1
  end

  def col_max
    return 6
  end
 
  def spacing
    return 1
  end
 
  def contents_width
    (item_width + spacing) * item_max - spacing
  end

    def contents_height
    item_height
  end

  def make_command_list
    add_main_commands
    add_formation_command
    add_original_commands
    add_save_command
    add_game_end_command
  end
 
  def add_main_commands
    add_command(Vocab::item,   :item,   main_commands_enabled)
    add_command(Vocab::skill,  :skill,  main_commands_enabled)
    add_command(Vocab::equip,  :equip,  main_commands_enabled)
#    add_command(Vocab::status, :status, main_commands_enabled)
  end
 
  def add_formation_command
    add_command(Vocab::formation, :formation, formation_enabled)
  end
 
  def add_original_commands
  end
 
  def add_save_command
    add_command(Vocab::save, :save, save_enabled)
  end
 
  def add_game_end_command
    add_command(Vocab::game_end, :game_end)
  end
 
  def main_commands_enabled
    $game_party.exists
  end
 
  def formation_enabled
    $game_party.members.size >= 2 && !$game_system.formation_disabled
  end
 
  def save_enabled
    !$game_system.save_disabled
  end
 
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
 
  def select_last
    select_symbol(@@last_command_symbol)
  end
 
end
class Window_MenuStatus < Window_Selectable
 
  attr_reader   :pending_index
 
  def initialize(x, y)
    super(0, 0, window_width, window_height)
    @pending_index = -1
    refresh
    self.opacity = 0
  end

#=============================================================================
#  DRAW_ANGELO_HP
#=============================================================================
  def draw_angelo_hp(actor, x, y, width = 200)
    draw_back_bars(x - 5, y + 11, 200 + 13)
    draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
    draw_text(x, y + 5, 30, line_height, Vocab::hp_a)
    draw_current_and_max_values(x + 16, y + 5, width, actor.hp, actor.mhp, hp_color(actor), normal_color)
  end

#=============================================================================
#  DRAW_ANGELO_MP
#=============================================================================
  def draw_angelo_mp(actor, x, y, width = 200)
    draw_back_bars(x - 5, y + 11, 200 + 13)
    draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
    draw_text(x, y + 5, 30, line_height, Vocab::mp_a)
    draw_current_and_max_values(x + 16, y + 5, width, actor.mp, actor.mmp, mp_color(actor), normal_color)
  end
 
#=============================================================================
#  DRAW_ANGELO_EXP
#=============================================================================
  def draw_angelo_exp(actor, x, y, width = 200)
    expcolor1 = Color.new(205, 255, 151, 255)
    expcolor2 = Color.new(235, 210, 0, 255)
    draw_back_bars(x - 5, y + 11, 200 + 13)
    draw_gauge(x, y, width, actor.exp.to_f / actor.next_level_exp, expcolor1, expcolor2)
    draw_text(x, y + 5, 30, line_height, "EXP")
    draw_current_and_max_values(x + 16, y + 5, width, actor.exp, actor.next_level_exp, mp_color(actor), normal_color)
  end
#=============================================================================
#  DRAW_ANGELO_EQUIP
#=============================================================================
  def draw_angelo_equip(item, x, y, enabled = true, width = 120)
    return unless item
    draw_icon(item.icon_index, x, y, enabled)
    change_color(normal_color, enabled)
    draw_text(x + 14, y, width, 2 * line_height / 3, item.name)
  end
 
def params_distance
  2 + line_height / 2
end

  def draw_angelo_params(actor, x, y, width = 75)
    for i in 0..5

     draw_gauge(x, y + i * params_distance - 10, width, actor.param(i + 2).to_f / 999, Color.new(237, 173, 202, 255), Color.new(111, 36, 69, 255))
     draw_text(x, y + i * params_distance - 10, 60, line_height, Vocab::param(i + 2))
    end
  end   

  def draw_actor_angelo_status(actor, x, y)
    colorback = Color.new(0, 0, 0, 150)
    colorback2 = Color.new(0, 0, 0, 190)

    self.contents.fill_rect(x + 240, y - 4, 75, 88, colorback)
    self.contents.fill_rect(x + 240, y, 75, 80, colorback2)
    draw_actor_name(actor, x - 96, y)
    draw_actor_nickname(actor, x - 75, y + 60)
    draw_actor_level(actor, x, y - line_height / 2)
    draw_actor_icons(actor, x + 32, y - line_height / 2)
    draw_actor_class(actor, x + 132, y - line_height / 2)
    draw_angelo_params(actor, x + 240, y - 4)
    draw_angelo_hp(actor, x, y + line_height * 0)
    draw_angelo_mp(actor, x, y + line_height * 1)
    draw_angelo_exp(actor, x, y + line_height * 2)
    for i in 0..1
      draw_angelo_equip(actor.equips[i], x + line_height * (i * 6), y + line_height * 3)
    end
    for i in 2..4
      draw_angelo_equip(actor.equips[i], 420, y - 40 + line_height * i)
    end
  end
 
    def draw_back_bars(x, y, width)
      colorback = Color.new(0, 0, 0, 150)
      colorback2 = Color.new(0, 0, 0, 190)
      self.contents.fill_rect(x, y, width, 16, colorback)
      self.contents.fill_rect(x, y + 4, width, 8, colorback2)
     
#      self.contents.fill_rect(x, y + 24, width, 16, colorback)
#      self.contents.fill_rect(x, y + 28, width, 8, colorback2)
     
#      self.contents.fill_rect(x, y + 24 + 96, 543, 16, colorback)
#      self.contents.fill_rect(x, y + 28 + 96, 543, 8, colorback2)
   
#      self.contents.fill_rect(x, y + 24 + 96 + 96, 543, 16, colorback)
#      self.contents.fill_rect(x, y + 28 + 96 + 96, 543, 8, colorback2)

end


  def col_max
    return 1
  end

  def window_width
    544
  end
 
  def window_height
    368
  end
 
  def spacing
    return 18
  end
 
  def item_max
    $game_party.members.size
  end
 
  def item_height
    (height - standard_padding * 2) / 3
  end
 
  def draw_item(index)
    self.contents.font = Font.new("Times New Roman", 16)
    actor = $game_party.members[index]
    enabled = $game_party.battle_members.include?(actor)
    rect = item_rect(index)
    draw_item_background(index)
    draw_actor_face(actor, rect.x + 8, rect.y + 8, enabled)
    draw_actor_angelo_status(actor, rect.x + 108, rect.y + line_height / 2)
  end
 
  def draw_item_background(index)
    if index == @pending_index
      contents.fill_rect(item_rect(index), pending_color)
    end
  end
 
  def process_ok
    super
    $game_party.menu_actor = $game_party.members[index]
  end
 
  def select_last
    select($game_party.menu_actor.index || 0)
  end
 
  def pending_index=(index)
    last_pending_index = @pending_index
    @pending_index = index
    redraw_item(@pending_index)
    redraw_item(last_pending_index)
  end

end

class Scene_Menu < Scene_MenuBase
  def start
    super
    create_command_window
#    create_gold_window
    create_status_window
  end
 
  def create_command_window
    @command_window = Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,     method(:command_personal))
    @command_window.set_handler(:equip,     method(:command_personal))
    @command_window.set_handler(:status,    method(:command_personal))
    @command_window.set_handler(:formation, method(:command_formation))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
  end
#  def create_gold_window
#    @gold_window = Window_Gold.new
#    @gold_window.x = 400
#    @gold_window.y = -16
#  end
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuStatus.new(@command_window.width, 0)
  end
  def command_item
    SceneManager.call(Scene_Item)
  end
  def command_personal
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,     method(:on_personal_ok))
    @status_window.set_handler(:cancel, method(:on_personal_cancel))
  end
  def command_formation
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,     method(:on_formation_ok))
    @status_window.set_handler(:cancel, method(:on_formation_cancel))
  end
  def command_save
    SceneManager.call(Scene_Save)
  end
  def command_game_end
    SceneManager.call(Scene_End)
  end
  def on_personal_ok
    case @command_window.current_symbol
    when :skill
      SceneManager.call(Scene_Skill)
    when :equip
      SceneManager.call(Scene_Equip)
    when :status
      SceneManager.call(Scene_Status)
    end
  end
  def on_personal_cancel
    @status_window.unselect
    @command_window.activate
  end
  def on_formation_ok
    if @status_window.pending_index >= 0
      $game_party.swap_order(@status_window.index,
                             @status_window.pending_index)
      @status_window.pending_index = -1
      @status_window.redraw_item(@status_window.index)
    else
      @status_window.pending_index = @status_window.index
    end
    @status_window.activate
  end
  def on_formation_cancel
    if @status_window.pending_index >= 0
      @status_window.pending_index = -1
      @status_window.activate
    else
      @status_window.unselect
      @command_window.activate
    end
  end
end


Screeny:
Spoiler:


 
 
MrBoomGood 




Preferowany:
RPG Maker VX

Pomógł: 3 razy
Dołączył: 07 Kwi 2011
Posty: 292
Skąd: Katowice
Wysłany: Pon 16 Lip, 2012 14:20
Bardzo ładne prawdopodobnie użyje ; )
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene