Menu Final FantasyVII-script

    Compartilhe
    avatar
    zmarcelo
    Membro
    Membro

    Mensagens : 24
    Credibilidade : 4

    Menu Final FantasyVII-script

    Mensagem por zmarcelo em Qui Dez 29, 2011 3:31 pm

    Menu Final Fantasy

    esse script esta traduzido todos temos q botar a mao na massa ta ai para vcs bricarem com script esse e otimo



    #************************************************* ********
    # Final Fantasy VII configuração do menu por zmarcelo
    #************************************************* ********
    # Para usar:
    # Se você não quer Faces, vá para a linha 94
    # E a mudança de apagar o # draw_actor_graphic
    # E colocar um # na frente de draw_actor_face
    #
    # Crie uma nova pasta na pasta Personagens, e chamá-lo Faces
    # Adicionando faces: adicionar uma foto 80x80 com o mesmo nome do que characterset
    # Corrosponds com na pasta Faces


    #========================================
    # ■ Window_Base
    #------------------------------------------------- -------------------------------
    # Configurando funções para o "Base"
    #========================================


    Window_Base classe Window <

    def draw_actor_face (actor, x, y)
    face = RPG:: Cache.character ("Faces /" actor.character_name, actor.character_hue)
    fw = face.width
    fh = face.height
    src_rect Rect.new = (0, 0, fw, fh)
    self.contents.blt (x - fw / 23, y - fh, face, src_rect)
    final
    final
    def draw_actor_battler_graphic (actor, x, y)
    bitmap = RPG:: Cache.battler (actor.battler_name, actor.battler_hue)
    cw = bitmap.width
    ch = bitmap.height
    src_rect Rect.new = (0, 0, cw, ch)
    self.contents.blt (x - cw / 2, y - ch, bitmap, src_rect)
    final

    #========================================
    # ■ Game_Map
    #------------------------------------------------- -------------------------------
    # Configurando funções para o Mapa
    #========================================
    classe Game_Map

    nome def
    $ Map_infos [@ map_id]
    final
    final

    #========================================
    # ■ Window_Title
    #------------------------------------------------- -------------------------------
    # Configurando funções para o título
    #========================================
    classe Scene_Title
    $ Map_infos = load_data ("Data / MapInfos.rxdata")
    para a chave em $ map_infos.keys
    $ Map_infos [key] = $ map_infos tecla [] Name.
    final
    final




    #================================================= =============================
    # ■ Window_MenuStatus
    #------------------------------------------------- -----------------------------
    # Configura a escolha.
    #================================================= =============================

    classe Window_MenuStatus <Window_Selectable
    #------------------------------------------------- -------------------------
    # Set up
    #------------------------------------------------- -------------------------
    def initialize
    super (0, 0, 560, 454)
    self.conteudo = Bitmap.new (width - 32, altura - 32)
    self.contents.font.name = "Arial"
    self.contents.font.size = 18
    refrescar
    self.active = false
    self.index = -1
    final
    #------------------------------------------------- -------------------------
    Informações # Desenho na Tela
    #------------------------------------------------- -------------------------
    def refresh
    self.contents.clear
    @ Item_max = $ game_party.actors.size
    for i in 0 ... $ game_party.actors.size
    x = 94
    y = i * 110
    actor = $ game_party.actors [i]
    # Draw_actor_face (ator, 12, y 90) # Para se livrar do cara, colocar um "#" antes do draw_ desta linha
    draw_actor_graphic (ator, 48, y 65) # e apague o "#" na frente do sorteio desta linha
    draw_actor_name (actor, x, y)
    draw_actor_level (actor, x 144, y)
    draw_actor_state (actor, x 280, y)
    draw_actor_exp (actor, x 144, y 38)
    draw_actor_hp (actor, x, y 38)
    draw_actor_sp (actor, x, y 58)

    final
    final
    #------------------------------------------------- -------------------------
    # Atualização do Cursor
    #------------------------------------------------- -------------------------
    def update_cursor_rect
    if @ index <0
    self.cursor_rect.empty
    outro
    self.cursor_rect.set (0, @ index * 110, self.width - 32, 96)
    final
    final
    final

    #=======================================#
    # # ■ Window_GameStats
    # Escrito por AcedentProne #
    #------------------------------------------------- -----------------------------#

    classe Window_GameStats <Window_Base
    def initialize
    super (0, 0, 160, 60)
    self.conteudo = Bitmap.new (width - 32, altura - 32)
    self.contents.font.name = "Arial"
    self.contents.font.size = 18
    refrescar
    final

    def refresh
    self.contents.clear
    # Desenho ouro em separado por vírgulas Dubealex
    caso $ game_party.gold
    quando 0 .. 9999
    ouro = $ game_party.gold
    quando 10.000 99.999 ..
    ouro = $ game_party.gold.to_s
    = array gold.split (/ /)
    ouro = array [0]. to_s array [1]. to_s "," array [2]. to_s array [3]. to_s array [4]. to_s
    quando 100.000 .. 999.999
    ouro = $ game_party.gold.to_s
    = array gold.split (/ /)
    ouro = array [0]. to_s array [1]. to_s array [2]. to_s "," array [3]. to_s array [4]. to_s array [5]. to_s
    quando 1000000 .. 9999999
    ouro = $ game_party.gold.to_s
    = array gold.split (/ /)
    ouro = array [0]. to_s "," array [1]. to_s array [2]. to_s array [3]. to_s "," array [4]. to_s array [5]. to_s array [6]. to_s
    final
    # Sorteio de Ouro
    self.contents.font.color = system_color
    gold_word = $ data_system.words.gold.to_s
    cx = contents.text_size (gold_word). width
    cx2 = contents.text_size (gold.to_s). width
    self.contents.draw_text (4, 4, 120-cx-2, 32, gold_word)
    self.contents.font.color = normal_color
    self.contents.draw_text (124-cx2 1, 4, cx2, 32, gold.to_s, 2)
    self.contents.font.color = system_color
    # Empate "Time"
    @ Total_sec = Graphics.frame_count / Graphics.frame_rate
    hora = @ total_sec / 60 / 60
    min = @% total_sec / 60 60
    sec = @% total_sec 60
    text = sprintf ("% 02d:% 02d:% 02d", hora, min, seg)
    self.contents.font.color = normal_color
    self.contents.draw_text (4, -10, 120, 32, texto, 2)
    self.contents.font.color = system_color
    self.contents.draw_text (4, -10, 120, 32, "Time")
    final
    #------------------------------------------------- -------------------------
    # Atualização da contagem
    #------------------------------------------------- -------------------------
    def update
    super
    se Graphics.frame_count / Graphics.frame_rate! = @ total_sec
    refrescar
    final
    final
    final

    #================================================= =============================
    # ■ Window_Mapname
    #------------------------------------------------- -----------------------------
    # Desenha o nome de Mapa
    #================================================= =============================

    classe Window_Mapname <Window_Base
    #------------------------------------------------- -------------------------
    # Set up
    #------------------------------------------------- -------------------------
    def initialize
    super (0, 0, 320, 44)
    self.conteudo = Bitmap.new (width - 52, altura - 32)
    self.contents.font.name = "Arial"
    self.contents.font.size = 18
    refrescar
    final
    #------------------------------------------------- -------------------------
    # Chama a informação na tela
    #------------------------------------------------- -------------------------
    def refresh
    self.contents.clear

    # Nome do mapa
    # Map = $ game_map.name
    self.contents.font.color = system_color
    self.contents.draw_text (4, -10, 220, 32, "Location")
    self.contents.font.color = normal_color
    self.contents.draw_text (175, -10, 80, 32, $ game_map.name)
    final
    final

    #================================================= =============================
    # Scene_Menu ■
    #------------------------------------------------- -----------------------------
    # FF7 layout do menu, conforme solicitado pelo AcedentProne.
    #================================================= =============================

    Scene_Menu classe
    #--------------------------- Editar --------------------- ----------
    attr_reader: status_window
    #/--------------------------- Editar -------------------- -----------

    def initialize (menu_index = 0)
    @ Menu_index = menu_index
    final
    def principal

    s1 = $ data_system.words.item
    s2 = $ data_system.words.skill
    s3 = $ data_system.words.equip
    s4 = "Status"
    s5 = "Salvar"
    s6 = "Quit"


    #--------------------------- Editar --------------------- ----------
    # Menu Command
    @ Command_window = Window_Command.new (160, [s3 s1, s2, s4, s5, s6])
    @ Command_window.x = 640 - @ command_window.width
    @ Command_window.y = 480
    @ Command_window.z = 110
    @ = @ Command_window.index menu_index
    # Se certas opções estão disponíveis
    if $ game_party.actors.size == 0
    @ Command_window.disable_item (0)
    @ Command_window.disable_item (1)
    @ Command_window.disable_item (2)
    @ Command_window.disable_item (3)
    final
    if $ game_system.save_disabled
    @ Command_window.disable_item (4)
    final
    # Mostrando janela de localização
    @ Map = Window_Mapname.new
    @ Map.x = 640 - @ map.width
    @ Map.y = 0 - map.height @ - 1
    @ Map.z = 110
    # Mostrando as estatísticas do jogo
    @ Game_stats_window = Window_GameStats.new
    @ Game_stats_window.x = 0 - @ game_stats_window.width
    @ Game_stats_window.y = 480 - @ map.height - @ game_stats_window.height
    @ Game_stats_window.z = 110

    # Mostrando a janela Status do Menu
    @ Status_window = Window_MenuStatus.new
    @ Status_window.x = 640
    @ Status_window.y = 8
    @ Status_window.z = 100


    Graphics.transition
    loop do
    Graphics.update
    Input.update
    atualizar
    if $ scene! auto =
    quebrar
    final
    final
    Graphics.freeze
    @ Command_window.dispose
    @ Game_stats_window.dispose
    @ Status_window.dispose
    @ Map.dispose
    final
    #------------------------------------------------- -------------------------
    # Definindo o atraso
    #------------------------------------------------- -------------------------
    def atraso (segundos)
    for i in 0 ... (segundo * 1)
    sono 0,01
    Graphics.update
    final
    final
    #------------------------------------------------- -------------------------
    # Atualização
    #------------------------------------------------- -------------------------
    def update
    @ Command_window.update
    @ Game_stats_window.update
    @ Status_window.update
    @ Map.update
    # Movendo o Windows inplace
    gamepos = 640 - @ game_stats_window.width
    mappos = 480 - @ map.height - 1
    if@command_window.y> 0
    @ Command_window.y -= 60
    final
    if@game_stats_window.x <gamepos
    @ Game_stats_window.x = 80
    final
    if@map.y <mappos
    @ Map.y = 80
    final
    if@status_window.x> 0
    @ Status_window.x -= 80
    final
    # Dizer se as opções estão ativas
    [Você precisa estar registrado e conectado para ver este link.]
    update_command
    retorno
    final
    [Você precisa estar registrado e conectado para ver este link.]
    update_status
    retorno
    final
    final
    #------------------------------------------------- -------------------------
    # Atualização do Comando de Seleção
    #------------------------------------------------- -------------------------
    def update_command
    # Se o botão B é pressionado
    se Input.trigger (Input:: B)?
    # Plays SE atribuído
    $ Game_system.se_play ($ data_system.cancel_se)
    # Looping para mover as janelas para fora
    loop do
    if@command_window.y <480
    @ Command_window.y = 40
    final
    if@game_stats_window.x> 0 - @ game_stats_window.width
    @ Game_stats_window.x -= 40
    final
    if@map.y> 0 - @ map.height
    @ Map.y -= 40
    final
    if@status_window.x <640
    @ Status_window.x = 40
    final
    atraso (0,5)
    if@status_window.x> = 640
    quebrar
    final
    final
    # Vá ao Mapa
    Scene $ = Scene_Map.new
    retorno
    final
    # Se o botão C é pused
    se Input.trigger (Input:: C)?
    # Verifica tamanho actor
    if $ game_party.actors.size == 0 [Você precisa estar registrado e conectado para ver este link.] <4
    # Plays SE
    $ Game_system.se_play ($ data_system.buzzer_se)
    retorno
    final
    [Você precisa estar registrado e conectado para ver este link.]
    quando 0
    $ Game_system.se_play ($ data_system.decision_se)
    loop do
    if@command_window.y <480
    @ Command_window.y = 40
    final
    if@game_stats_window.x> 0 - @ game_stats_window.width
    @ Game_stats_window.x -= 40
    final
    if@map.y> 0 - @ map.height
    @ Map.y -= 40
    final
    if@status_window.x <640
    @ Status_window.x = 40
    final
    atraso (0,5)
    if@status_window.x> = 640
    quebrar
    final
    final
    Scene $ = Scene_Item.new
    quando um
    $ Game_system.se_play ($ data_system.decision_se)
    @ Command_window.active = false
    @ Status_window.active = true
    @ Status_window.index = 0
    quando 2
    $ Game_system.se_play ($ data_system.decision_se)
    @ Command_window.active = false
    @ Status_window.active = true
    @ Status_window.index = 0
    quando 3
    $ Game_system.se_play ($ data_system.decision_se)
    @ Command_window.active = false
    @ Status_window.active = true
    @ Status_window.index = 0

    quando 4
    if $ game_system.save_disabled
    $ Game_system.se_play ($ data_system.buzzer_se)
    retorno
    final
    $ Game_system.se_play ($ data_system.decision_se)
    loop do
    if@command_window.y <480
    @ Command_window.y = 40
    final
    if@game_stats_window.x> 0 - @ game_stats_window.width
    @ Game_stats_window.x -= 40
    final
    if@map.y> 0 - @ map.height
    @ Map.y -= 40
    final
    if@status_window.x <640
    @ Status_window.x = 40
    final
    atraso (0,5)
    if@status_window.x> = 640
    quebrar
    final
    final
    Scene $ = Scene_Save.new
    quando 5
    $ Game_system.se_play ($ data_system.decision_se)
    loop do
    if@command_window.y <480
    @ Command_window.y = 40
    final
    if@game_stats_window.x> 0 - @ game_stats_window.width
    @ Game_stats_window.x -= 40
    final
    if@map.y> 0 - @ map.height
    @ Map.y -= 40
    final
    if@status_window.x <640
    @ Status_window.x = 40
    final
    atraso (0,5)
    if@status_window.x> = 640
    quebrar
    final
    final
    Scene $ = Scene_End.new
    retorno
    final
    final
    #------------------------------------------------- -------------------------
    # Atualização da tela de status
    #------------------------------------------------- -------------------------
    def update_status
    se Input.trigger (Input:: B)?
    $ Game_system.se_play ($ data_system.cancel_se)
    @ Command_window.active = true
    @ Status_window.active = false
    @ Status_window.index = -1
    retorno
    final
    se Input.trigger (Input:: C)?
    [Você precisa estar registrado e conectado para ver este link.]
    quando uma Habilidade #
    # Se o limite for esse ator de ação é de 2 ou mais
    if $ game_party.actors [@ status_window.index] restrição.> = 2
    # Jogue buzzer SE
    $ Game_system.se_play ($ data_system.buzzer_se)
    retorno
    final
    # Jogue uma decisão SE
    $ Game_system.se_play ($ data_system.decision_se)
    # Alternar para a tela de habilidade
    $ Scene = Scene_Skill.new (@ status_window.index)
    quando 2
    $ Game_system.se_play ($ data_system.decision_se)
    loop do
    if@command_window.y <480
    @ Command_window.y = 40
    final
    if@game_stats_window.x> 0 - @ game_stats_window.width
    @ Game_stats_window.x -= 40
    final
    if@map.y> 0 - @ map.height
    @ Map.y -= 40
    final
    if@status_window.x <640
    @ Status_window.x = 40
    final
    atraso (0,5)
    if@status_window.x> = 640
    quebrar
    final
    final
    $ Scene = Scene_Equip.new (@ status_window.index)
    quando 3
    $ Game_system.se_play ($ data_system.decision_se)
    loop do
    if@command_window.y <480
    @ Command_window.y = 40
    final
    if@game_stats_window.x> 0 - @ game_stats_window.width
    @ Game_stats_window.x -= 40
    final
    if@map.y> 0 - @ map.height
    @ Map.y -= 40
    final
    if@status_window.x <640
    @ Status_window.x = 40
    final
    atraso (0,5)
    if@status_window.x> = 640
    quebrar
    final
    final
    $ Scene = Scene_Status.new (@ status_window.index)
    final
    retorno
    final
    final
    final
    final

    creditos:
    zmarcelo por disponibilizar
    autor desconhecido Normal

      Data/hora atual: Qui Out 19, 2017 7:31 pm