Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Save Protetor

4 participantes

Ir para baixo

Save Protetor Empty Save Protetor

Mensagem por Luucky Qui Mar 11, 2010 9:06 pm

Save Protetor
Autor: Luuucky

Descrição
Alterações à salvar tela com personalização ENORME!
Pode-se jogar Plug 'n, mas a personalização é algo que você quer olhar

Instruções

Cole Acima do Main
script
Código:
=begin
#-------------------------------------------------------------------------------
 Protetor de tela de personalização
 By:Luuucky
 MRM/CAKER
 http://www.cakersrpgmaker.com/forum.htm
 http://www.mundorpgmaker.com
 #-------------------------------------------------------------------------------

Características do script:

   
-Alterações à salvar tela com personalização ENORME!
 Pode-se jogar Plug 'n, mas a personalização é algo que você quer olhar
 
 -Você pode escolher um dos quatro esquemas possíveis:
  1 = sprites personagem, nível, HP com o MP. Não recomendado para uma pequena festa.
  2 = sprites personagens e nome, nível, classe HP com o MP.
  3 = Image rosto, nome, nível, classe HP com o MP.
  4 = Image Face & Name Face, HP »MP. Não recomendado para uma pequena festa.

 -Você pode optar por ocultar a localização playtime, ouro, etc
 -Se o local contém um "#" (ou qualquer coisa que você escolher), que a localização não será
  ser exibido na tela de salvar (Isto é o que o criador do script diz, mas isso
  não é o caso. Então eu não tenho nenhuma idéia o que isso faz ...)
 
  Nota:
  Este script é NÃO COMPATÍVEL COM OLD salvar arquivos. Se você instalar este script
  Depois de já ter salvo, você deve começar novamente.

 Actualizar histórico:
 7 / 6 script Lançado
 7 / 7 Corrigido um erro onde "#" não funciona corretamente

 Esta redifines script:
Scene_File
Window_SaveFile

 Alterando o script pode resultar em erros de compatibilidade, para fazê-lo em seu
 próprio risco ...

=end
#==============================================================================
# Begin Personalização
#==============================================================================

module DAI
 # Maximum Save Files (If 6 or more, you will have to scroll down.)
 FILE_MAX = 6

 # Save File box height. (It's not really neccessary to change this.)
 FILE_HEIGHT = 60

 # Window Arrangement (0 = left displays files, right shows stats 1 = reversed)
 FILE_ARRANGEMENT = 1     

 # Message Displayed if there is no file saved
 FILE_NOT = "NAO SALVO"
 
 # Display the play time?
 FILE_PLAY_TIME = true
 # If above is true, what term should "Play time" go by?
 FILE_PLAY_TIME_NAME = "Play Time"
 
 # Display Amount of Gold?
 FILE_GOLD = true
 # If above is true, what term should display before the gold amount?
 FILE_GOLD_NAME = " Ouro na Posse:"
 
 # Display Location Name?
 FILE_PLACE_MAP = true
 # If above is true, what term should display before the map name?
 FILE_PLACE_MAP_NAME = "Local:"
 # Not exactly sure what this does, so DON'T TOUCH IT!
 FILE_MAP_NAME_DE = "#"
 
 
  # Tipo de Display
  # 1 = sprites personagem, nível, HP com o MP. Não recomendado para uma pequena festa.
  # 2 = sprite personagens e nome, nível, classe HP com o MP.
  # 3 = Image rosto, nome, nível, classe HP com o MP.
  # 4 = Image Face & Name Face, HP »MP. Não recomendado para uma pequena festa.
 
  FILE_TYPE = 3


# Altura de um personagem em Save Window
 # (Type 1 = 32-70, tipo 2 = 60 a 70, Tipo 3 = 60 a 70, Tipo 4 33-70)
 FILE_LENGTN = 70
 
 
  #--------------------------------------------------------------------------
  # ○ Se você escolheu DISPLAY TIPO 3 ...
  #--------------------------------------------------------------------------

  # Display the class of all actors?
  FILE_TYPE_C_3 = true
 
  # Face Size Used on The Save Screen
  # Please note, the greater the height, the screen gets more crowded
  FILE_FACE_LENGTN_X_3 = 96 # horizontal
  FILE_FACE_LENGTN_Y_3 = 68 # vertical
 
  #--------------------------------------------------------------------------
  # ○IF YOU CHOSE DISPLAY TYPE 4...
  #--------------------------------------------------------------------------
  # Face Size Used on The Save Screen
  # Please note, the greater the height, the screen gets more crowded.
  FILE_FACE_LENGTN_X_4 = 96 # horizontal
  FILE_FACE_LENGTN_Y_4 = 31 # vertical
 
  # Face Graphic Alignment (Default aligns the eyes centered)
  TYPE_4_POSITION_Y = 20

end

#==============================================================================
# End Customization
#==============================================================================

#==============================================================================
# ■ Scene_File
#------------------------------------------------------------------------------
#  ファイル画面の処理を行うクラスです。
#==============================================================================
class Scene_File
  #--------------------------------------------------------------------------
  # ○ 開始処理 (追加定義)
  #--------------------------------------------------------------------------
  alias _exmincrsv_start start
  def start
    @file_max = DAI::FILE_MAX
    _exmincrsv_start
    wh = DAI::FILE_HEIGHT
    adj = (416 - @help_window.height) % wh
    @help_window.height += adj
    @page_file_max = ((416 - @help_window.height) / wh).truncate

    for i in 0...@file_max
      window = @savefile_windows[i]
      if @index > @page_file_max - 1
        if @index < @file_max - @page_file_max - 1
          @top_row = @index
          window.y -= @index * window.height
        elsif @index >= @file_max - @page_file_max
          @top_row = @file_max - @page_file_max
          window.y -= (@file_max - @page_file_max) * window.height
        else
          @top_row = @index
          window.y -= @index * window.height
        end
      end
      window.y += adj
      window.visible = (window.y >= @help_window.height and
      window.y < @help_window.height + @page_file_max * window.height)
      window.x = 404 if DAI::FILE_ARRANGEMENT == 1
    end
    if DAI::FILE_ARRANGEMENT == 0
      @Save_window = Window_Dai_Save.new(140,56,make_filename(@index))
    else
      @Save_window = Window_Dai_Save.new(0,56,make_filename(@index))
    end
  end
  #--------------------------------------------------------------------------
  # ● 終了処理
  #--------------------------------------------------------------------------
  alias dai_save_terminate terminate
  def terminate
    dai_save_terminate
    @Save_window.dispose
  end
  #--------------------------------------------------------------------------
  # ○ セーブファイルウィンドウの作成 (再定義)
  #--------------------------------------------------------------------------
  def create_savefile_windows
    @top_row = 0
    @savefile_windows = []
    for i in 0...@file_max
      a = 0
      a = 1 if FileTest.exist?(make_filename(i))
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i),a))
    end
  end
  #--------------------------------------------------------------------------
  # ○ カーソルを下に移動 (再定義)
  #    wrap : ラップアラウンド許可
  #--------------------------------------------------------------------------
  def cursor_down(wrap)
    if @index < @file_max - 1 or wrap
      @index = (@index + 1) % @file_max
      for i in 0...@file_max
        window = @savefile_windows[i]
        if @index == 0
          @top_row = 0
          window.y = @help_window.height + i % @file_max * window.height
        elsif @index - @top_row > @page_file_max - 1
          window.y -= window.height
        end
        window.visible = (window.y >= @help_window.height and
          window.y < @help_window.height + @page_file_max * window.height)
      end
      if @index - @top_row > @page_file_max - 1
        @top_row += 1
      end
    end
    filename = @savefile_windows[@index].filename
    @Save_window.refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ○ カーソルを上に移動 (再定義)
  #    wrap : ラップアラウンド許可
  #--------------------------------------------------------------------------
  def cursor_up(wrap)
    if @index > 0 or wrap
      @index = (@index - 1 + @file_max) % @file_max
      for i in 0...@file_max
        window = @savefile_windows[i]
        if @index == @file_max - 1
          @top_row = @file_max - @page_file_max
          window.y = @help_window.height + i % @file_max * window.height
          window.y -= (@file_max - @page_file_max) * window.height
        elsif @index - @top_row < 0
          window.y += window.height
        end
        window.visible = (window.y >= @help_window.height and
          window.y < @help_window.height + @page_file_max * window.height)
      end
      if @index - @top_row < 0
        @top_row -= 1
      end
    end
    filename = @savefile_windows[@index].filename
    @Save_window.refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ● セーブデータの書き込み
  #    file : 書き込み用ファイルオブジェクト (オープン済み)
  #--------------------------------------------------------------------------
  def write_save_data(file)
    characters = []
    for actor in $game_party.members
      characters.push([
      actor.character_name,
      actor.character_index,
      actor.name,
      actor.level,
      actor.class_id,
      actor.face_name,
      actor.face_index,
      actor.maxhp,
      actor.hp,
      actor.maxmp,
      actor.mp,
      ])
    end
    assistance = []
    gold = $game_party.gold
    map_name = $game_map.name

    $game_system.save_count += 1
    $game_system.version_id = $data_system.version_id
    @last_bgm = RPG::BGM::last
    @last_bgs = RPG::BGS::last
    Marshal.dump(characters,          file)
    Marshal.dump(gold,                file)
    Marshal.dump(map_name,            file)
    Marshal.dump(Graphics.frame_count, file)
    Marshal.dump(@last_bgm,            file)
    Marshal.dump(@last_bgs,            file)
    Marshal.dump($game_system,        file)
    Marshal.dump($game_message,        file)
    Marshal.dump($game_switches,      file)
    Marshal.dump($game_variables,      file)
    Marshal.dump($game_self_switches,  file)
    Marshal.dump($game_actors,        file)
    Marshal.dump($game_party,          file)
    Marshal.dump($game_troop,          file)
    Marshal.dump($game_map,            file)
    Marshal.dump($game_player,        file)
  end
  #--------------------------------------------------------------------------
  # ● セーブデータの読み込み
  #    file : 読み込み用ファイルオブジェクト (オープン済み)
  #--------------------------------------------------------------------------
  def read_save_data(file)
    characters          = Marshal.load(file)
    gold                = Marshal.load(file)
    map_name            = Marshal.load(file)
    Graphics.frame_count = Marshal.load(file)
    @last_bgm            = Marshal.load(file)
    @last_bgs            = Marshal.load(file)
    $game_system        = Marshal.load(file)
    $game_message        = Marshal.load(file)
    $game_switches      = Marshal.load(file)
    $game_variables      = Marshal.load(file)
    $game_self_switches  = Marshal.load(file)
    $game_actors        = Marshal.load(file)
    $game_party          = Marshal.load(file)
    $game_troop          = Marshal.load(file)
    $game_map            = Marshal.load(file)
    $game_player        = Marshal.load(file)
    if $game_system.version_id != $data_system.version_id
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
  end
end

#==============================================================================
# ■ Window_SaveFile
#------------------------------------------------------------------------------
#  セーブ画面およびロード画面で表示する、セーブファイルのウィンドウです。
#==============================================================================
class Window_SaveFile
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化 (再定義)
  #    file_index : セーブファイルのインデックス (0~3)
  #    filename  : ファイル名
  #--------------------------------------------------------------------------
  def initialize(file_index, filename , a)
    wh = DAI::FILE_HEIGHT
    super(0, 56 + file_index % DAI::FILE_MAX * wh, 140, wh)
    @file_index = file_index
    @filename = filename
    load_gamedata
    refresh(a)
    @selected = false
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ(再定義)
  #--------------------------------------------------------------------------
  def refresh(a)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = 128 unless a == 1
    name = Vocab::File + " #{@file_index + 1}"
    self.contents.draw_text(4, 0, 200, WLH, name)
    @name_width = contents.text_size(name).width
  end
end

#==============================================================================
# ■ Window_Dai_Save
#------------------------------------------------------------------------------
#  セーブファイルの内容を表示するウィンドウです。
#==============================================================================
class Window_Dai_Save < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    x : ウィンドウの X 座標
  #    y : ウィンドウの Y 座標
  #--------------------------------------------------------------------------
  def initialize(x, y, filename)
    super(x, y, 404, 360)
    load_gamedata(filename)
    refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh(filename)
    self.contents.clear
    load_gamedata(filename)
    unless FileTest.exist?(filename)
      self.contents.draw_text(4, 150, self.width - 40, WLH, DAI::FILE_NOT, 1)
      return
    end
    if DAI::FILE_GOLD
      if DAI::FILE_PLAY_TIME
        draw_party_gold(0, 280, contents.width - 4, 0)
      else
        draw_party_gold(0, 307, contents.width - 4, 0)
      end
    end
    draw_playtime(0, 307, contents.width - 4, 0) if DAI::FILE_PLAY_TIME
    draw_map_name(0, 283, contents.width - 4, 0) if DAI::FILE_PLACE_MAP
    case DAI::FILE_TYPE
      when 1
        draw_party_characters(16, 33)
        draw_actor_hp_gauge(120, 5)
        draw_actor_hp(120, 5)
        draw_actor_mp_gauge(250, 5)
        draw_actor_mp(250, 5)
        draw_actor_level(50, 5)
      when 2
        draw_party_characters(16, 33)
        draw_actor_name(50, 5)
        draw_actor_hp_gauge(250, 5)
        draw_actor_hp(250, 5)
        draw_actor_mp_gauge(250, 30)
        draw_actor_mp(250, 30)
        draw_actor_level(50, 30)
        draw_actor_class(116, 30)
      when 3
        draw_face(0, 0, DAI::FILE_FACE_LENGTN_X_3, DAI::FILE_FACE_LENGTN_Y_3)
        if DAI::FILE_TYPE_C_3
          draw_actor_level(100, 25)
          draw_actor_class(168, 25)
          draw_actor_name(100, 0)
        else
          draw_actor_level(120, 25)
          draw_actor_name(120, 0)
        end
        draw_actor_hp_gauge(250, 0)
        draw_actor_hp(250, 0)
        draw_actor_mp_gauge(250, 25)
        draw_actor_mp(250, 25)
      when 4
        draw_face_type_4(0, 0, DAI::FILE_FACE_LENGTN_X_4, DAI::FILE_FACE_LENGTN_Y_4)
        draw_actor_hp_gauge(120, 5)
        draw_actor_hp(120, 5)
        draw_actor_mp_gauge(250, 5)
        draw_actor_mp(250, 5)
    end
  end
  #--------------------------------------------------------------------------
  # ● ゲームデータの一部をロード
  #    スイッチや変数はデフォルトでは未使用 (地名表示などの拡張用) 。
  #--------------------------------------------------------------------------
  def load_gamedata(filename)
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(filename)
    if @file_exist
      file = File.open(filename, "r")
      @time_stamp = file.mtime
      begin
        @characters    = Marshal.load(file)
        @gold          = Marshal.load(file)
        @map_name      = Marshal.load(file)
        @frame_count    = Marshal.load(file)
        @last_bgm      = Marshal.load(file)
        @last_bgs      = Marshal.load(file)
        @game_system    = Marshal.load(file)
        @game_message  = Marshal.load(file)
        @game_switches  = Marshal.load(file)
        @game_variables = Marshal.load(file)
        @screen_dump    = Marshal.load(file)
        @total_sec = @frame_count / Graphics.frame_rate
      rescue
        @file_exist = false
      ensure
        file.close
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 所持金の描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #    width : 幅
  #    align : 配置
  #--------------------------------------------------------------------------
  def draw_party_gold(x, y, width, align)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width, WLH, DAI::FILE_GOLD_NAME + " " + @gold.to_s + " " + Vocab::gold, 2)
  end
  #--------------------------------------------------------------------------
  # ● パーティキャラの描画
  #    x : 描画先 X 座標
  #    y : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_party_characters(x, y)
    for i in 0...@characters.size
      name = @characters[i][0]
      index = @characters[i][1]
      draw_character(name, index, x , y + i * DAI::FILE_LENGTN)
    end
  end
  #--------------------------------------------------------------------------
  # ● HP ゲージの色 1 の取得
  #--------------------------------------------------------------------------
  def hp_gauge_color1
    return text_color(20)
  end
  #--------------------------------------------------------------------------
  # ● HP ゲージの色 2 の取得
  #--------------------------------------------------------------------------
  def hp_gauge_color2
    return text_color(21)
  end
  #--------------------------------------------------------------------------
  # ● MP ゲージの色 1 の取得
  #--------------------------------------------------------------------------
  def mp_gauge_color1
    return text_color(22)
  end
  #--------------------------------------------------------------------------
  # ● MP ゲージの色 2 の取得
  #--------------------------------------------------------------------------
  def mp_gauge_color2
    return text_color(23)
  end
  #--------------------------------------------------------------------------
  # ● HP の文字色を取得
  #    actor : アクター
  #--------------------------------------------------------------------------
  def hp_color(actor)
    return knockout_color if actor.hp == 0
    return crisis_color if actor.hp < actor.maxhp / 4
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ● HP の描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #    width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_hp(x, y, width = 120)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      maxhp = @characters[i][7]
      hp = @characters[i][8]
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * DAI::FILE_LENGTN, 30, WLH, Vocab::hp_a)
      self.contents.font.color = normal_color if hp >= maxhp / 4
      self.contents.font.color = crisis_color if hp < maxhp / 4
      self.contents.font.color = knockout_color if hp == 0
      xr = x + width
      if width < 120
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, hp, 2)
      else
        self.contents.draw_text(xr - 90, y + i * h, 40, WLH, hp, 2)
        self.contents.font.color = normal_color
        self.contents.draw_text(xr - 50, y + i * h, 10, WLH, "/", 2)
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, maxhp, 2)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● HP ゲージの描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #    width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_hp_gauge(x, y, width = 120)
    for i in 0...@characters.size
      h = DAI::FILE_LENGTN
      gw = width * @characters[i][8] / @characters[i][7]
      gc1 = hp_gauge_color1
      gc2 = hp_gauge_color2
      n = y + i * h
      self.contents.fill_rect(x, n + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, n + WLH - 8, gw, 6, gc1, gc2)
    end
  end
  #--------------------------------------------------------------------------
  # ● MP の描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #    width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_mp(x, y, width = 120)
    for i in 0...@characters.size
      maxmp = @characters[i][9]
      mp = @characters[i][10]
      h = DAI::FILE_LENGTN
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * h, 30, WLH, Vocab::mp_a)
      self.contents.font.color = normal_color if mp >= maxmp / 4
      self.contents.font.color = crisis_color if mp < maxmp / 4
      self.contents.font.color = knockout_color if mp == 0
      xr = x + width
      if width < 120
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, mp, 2)
      else
        self.contents.draw_text(xr - 90, y + i * h, 40, WLH, mp, 2)
        self.contents.font.color = normal_color
        self.contents.draw_text(xr - 50, y + i * h, 10, WLH, "/", 2)
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, maxmp, 2)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● MP ゲージの描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #    width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_mp_gauge(x, y, width = 120)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      if @characters[i][9] > 0
        gw = width * @characters[i][10] / @characters[i][9]
      else
        gw = 0
      end
      gc1 = mp_gauge_color1
      gc2 = mp_gauge_color2
      n = y + i * h
      self.contents.fill_rect(x, n + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, n + WLH - 8, gw, 6, gc1, gc2)
    end
  end
  #--------------------------------------------------------------------------
  # ● レベルの描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_actor_level(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * h, 32, WLH, Vocab::level_a)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 32, y + i * h, 24, WLH, @characters[i][3], 2)
    end
  end
  #--------------------------------------------------------------------------
  # ● 名前の描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_actor_name(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      self.contents.font.color = normal_color
      self.contents.font.color = knockout_color if @characters[i][8] == 0
      self.contents.draw_text(x , y + i * h,108 , WLH, @characters[i][2], 0)
    end
  end
  #--------------------------------------------------------------------------
  # ● 職業の描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_actor_class(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      id = @characters[i][4]
      c = $data_classes[id].name
      self.contents.font.color = normal_color
      self.contents.draw_text(x , y + i * h,108 , WLH, c, 0)
    end
  end
  #--------------------------------------------------------------------------
  # ● 顔グラフィックの描画
  #    x            : 描画先 X 座標
  #    y            : 描画先 Y 座標
  #    size_x      : 表示サイズx
  #    size_y      : 表示サイズy
  #--------------------------------------------------------------------------
  def draw_face(x, y, size_x = 96,size_y = 57)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      face_name = @characters[i][5]
      face_index = @characters[i][6]
      bitmap = Cache.face(face_name)
      rect = Rect.new(0, 0, 0, 0)
      rect.x = face_index % 4 * 96 + (96 - size_x) / 2
      rect.y = face_index / 4 * 96 + (96 - size_y) / 2
      rect.width = size_x
      rect.height = size_y
      self.contents.blt(x, y + i * h, bitmap, rect)
      bitmap.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ● 顔グラフィックの描画(タイプ4専用)
  #    x            : 描画先 X 座標
  #    y            : 描画先 Y 座標
  #    size_x      : 表示サイズx
  #    size_y      : 表示サイズy
  #--------------------------------------------------------------------------
  def draw_face_type_4(x, y, size_x = 96,size_y = 57)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      face_name = @characters[i][5]
      face_index = @characters[i][6]
      bitmap = Cache.face(face_name)
      rect = Rect.new(0, 0, 0, 0)
      rect.x = face_index % 4 * 96 + (96 - size_x) / 2
      rect.y = face_index / 4 * 96 + (96 - size_y - DAI::TYPE_4_POSITION_Y) / 2
      rect.width = size_x
      rect.height = size_y
      self.contents.blt(x, y + i * h, bitmap, rect)
      bitmap.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ● プレイ時間の描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #    width : 幅
  #    align : 配置
  #--------------------------------------------------------------------------
  def draw_playtime(x, y, width, align)
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    time_string = sprintf("%02d:%02d", hour, min)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width, WLH, DAI::FILE_PLAY_TIME_NAME+" " + time_string, 2)
  end
  #--------------------------------------------------------------------------
  # ● マップ名の描画
  #    x    : 描画先 X 座標
  #    y    : 描画先 Y 座標
  #    width : 幅
  #    align : 配置
  #--------------------------------------------------------------------------
  def draw_map_name(x, y, width, align)
    t = @map_name
    if t.include?(DAI::FILE_MAP_NAME_DE)
      a = t.index(DAI::FILE_MAP_NAME_DE)
      t = t[0,a]
    end
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, width, WLH, DAI::FILE_PLACE_MAP_NAME, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y + 24, width, WLH, t, 0)
  end
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
#  マップを扱うクラスです。スクロールや通行可能判定などの機能を持っています。
# このクラスのインスタンスは $game_map で参照されます。
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  #  ● マップ名取得
  #--------------------------------------------------------------------------
  def name
    map = load_data("Data/MapInfos.rvdata")
    return map[@map_id].name
  end
end
ScreenShot:
Save Protetor Catsuf
Save Protetor Cats01f
Save Protetor Cats02x
Download:
http://www.mediafire.com/?xdy3imgzrnm

OBRIGADO
Luucky
Luucky
Aldeão
Aldeão

Mensagens : 4
Gold : 5390
Nível : 12

Ir para o topo Ir para baixo

Save Protetor Empty Re: Save Protetor

Mensagem por brandonloco Sex Mar 12, 2010 12:51 am

Muito lindo....+N

OBS : Parece que as faces ficaram meio esticadas...
brandonloco
brandonloco
Guerreiro Mestre
Guerreiro Mestre

Prêmio : ForuMédia World's
Mensagens : 446
Gold : 5974
Nível : 19

Ir para o topo Ir para baixo

Save Protetor Empty Re: Save Protetor

Mensagem por Bulacha Sex Mar 12, 2010 1:04 pm

Sisplismente incrível.
Essa Imagem do Save Protetor fica no jogo ?
Bulacha
Bulacha
Guerreiro
Guerreiro

Prêmio : Nenhum
Mensagens : 157
Gold : 5585
Nível : 28

Ir para o topo Ir para baixo

Save Protetor Empty Re: Save Protetor

Mensagem por Ure¢a Sex Mar 12, 2010 2:46 pm

Paarabéns, obrigado por trazer pra cá.
FLw + N
RMVX S2
Ure¢a
Ure¢a
Rei
Rei

Prêmio : Duelo de Pixel
Mensagens : 1179
Gold : 7283
Nível : 100

https://grandesmakersstaff.forumeiros.com

Ir para o topo Ir para baixo

Save Protetor Empty Re: Save Protetor

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos