Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Hotkeys Itens Event
- #==============================================================================
- # Autor: Dax
- # Versão: 1.0
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core
- #==============================================================================
- # • Descrição: USO DE IMAGENS OPCIONAL.
- #------------------------------------------------------------------------------
- # Esse script irá desenhar no mapa, alguns blocos onde irá mostrar o item,
- # e a chave que é necessária para usar. O script somente irá desenhar, sendo
- # útil apenas para os eventers.. Usarem isso.
- #==============================================================================
- Dax.register(:hotkey_itens, "Dax", 1.0, "27/01/14")
- #==============================================================================
- # • Módulo de configuração do script.
- #==============================================================================
- class << Rpg::Hud
- #----------------------------------------------------------------------------
- # • Configure o script aqui; [Retorna a uma HASH]
- #----------------------------------------------------------------------------
- def his # hotkeys itens
- return {
- # Caso for usar alguma imagem como bloco, escreva entre as áspas abaixo,
- # o nome dela. Ela deve estar na pasta System. Caso não, deixe as áspas
- # vázias.
- picture: "",
- # Ponha abaixo os id's dos itens que irá ser desenhado na tela.
- # Ao definir aqui, defina as 'keys' também. Caso não exista o item,
- # não irá ser desenhado o ícone mais somente o bloco.
- itens: [1, 2],
- # Escreva abaixo as teclas que ao ser apertada irá acionar o item de id
- # correspondente ao que você definiou acima.
- keys: ["Q", "L"],
- # Largura do bloco.
- width: 32,
- # Altura do bloco.
- height: 32,
- # Cor primária do bloco.
- color_1: ColorBasic.hex("000000"),
- # Cor secundária do bloco.
- color_2: ColorBasic.hex("454545").opacity,
- # Qual design você irá usar? Design Fill ou Window...
- # Para usar o 'Fill' escreva abaixo true, Para usar 'Window' escreve abaixo false.
- mode: true,
- # Opacidade do bloco.
- opacity: 255,
- # Defina aqui abaixo a posição dos blocos. As posição em X e Y.
- # Defina também a propriedade no mapa.
- position: [4, 4, 200],
- # Defina aqui se os blocos será na posição vertical ou horizontal.
- draw: true, # true - horizontal, false - vertical.
- # Defina aqui os espaço entre os blocos.
- space: 4,
- # Defina logo abaixo a fonte usada.
- name: "Bell MT", # Nome da fonte.
- size: 16, # Tamanho da fonte.
- bold: true, # Negrito na fonte.
- italic: false, # Itálico na fonte.
- shadow: true, # Sombra na fonte.
- outline: false, # Cor da borda.
- color: ColorBasic.hex("ffffff"), # Cor da fonte.
- out_color: ColorBasic.hex("000000"), # Cor da borda da fonte.
- # Texto.
- text: "%s",
- }
- end
- end
- #==============================================================================
- # • Hotkey_Itens
- #==============================================================================
- class Rpg::Hotkey_Itens_Event
- #----------------------------------------------------------------------------
- # • Inicialização dos objetos.
- #----------------------------------------------------------------------------
- def initialize
- @blocks = []
- @text = []
- Rpg::Hud.his[:itens].each_with_index { |value, index|
- if Rpg::Hud.his[:picture] == ""
- if Rpg::Hud.his[:mode]
- @blocks[index] = Sprite.new([Rpg::Hud.his[:width], Rpg::Hud.his[:height]])
- @blocks[index].bitmap.fill_rect(@blocks[index].rect, Rpg::Hud.his[:color_1])
- @blocks[index].bitmap.fill_rect(1, 1,
- @blocks[index].width-2, @blocks[index].height-2, Rpg::Hud.his[:color_2])
- @blocks[index].bitmap.draw_icon($data_items[value].nil? ? 0 : $data_items[value].icon_index,
- (@blocks[index].width - 24) / 2, (@blocks[index].height - 24) / 2 )
- else
- @blocks[index] = Window_Base.new(0, 0, 48, 48)
- @blocks[index].draw_icon($data_items[value].nil? ? 0 : $data_items[value].icon_index,
- 0, 0)
- end
- else
- @blocks[index] = Sprite.new("S: #{Rpg::Hud.his[:picture]}")
- @blocks[index].bitmap.draw_icon($data_items[value].nil? ? 0 : $data_items[value].icon_index,
- (@blocks[index].width - 24) / 2, (@blocks[index].height - 24) / 2 )
- end
- @blocks[index].x, @blocks[index].y, @blocks[index].z = *Rpg::Hud.his[:position]
- if Rpg::Hud.his[:draw]
- @blocks[index].x += ((@blocks[index].width + Rpg::Hud.his[:space]) * index)
- else
- @blocks[index].y += ((@blocks[index].height + Rpg::Hud.his[:space]) * index)
- end
- @blocks[index].opacity = Rpg::Hud.his[:opacity]
- @text[index] = Sprite_Text.new(@blocks[index].x + 7, @blocks[index].y + Rpg::Hud.his[:size] + 5,
- @blocks[index].width, Rpg::Hud.his[:size] + 2, "", 1)
- @text[index].z = @blocks[index].z + 1
- }
- end
- #----------------------------------------------------------------------------
- # • Renovação dos objetos.
- #----------------------------------------------------------------------------
- def dispose
- @blocks.each(&:dispose)
- @text.each(&:dispose)
- end
- #--------------------------------------------------------------------------
- # • Aquisição do usuário do ítem
- #--------------------------------------------------------------------------
- def user
- $game_party.movable_members.max_by {|member| member.pha }
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- def update
- @text.each(&:update)
- @text.each_with_index { |text, index|
- ["name", "size", "bold", "italic", "shadow", "outline", "color", "out_color"].each { |v|
- eval("text.bitmap.font.#{v} = Rpg::Hud.his[:#{v}]")
- }
- text.bitmap.draw_text_rect(sprintf(Rpg::Hud.his[:text],Rpg::Hud.his[:keys][index]), 1)}
- end
- end
- #==============================================================================
- # • Desenhar no mapa.
- #==============================================================================
- class Scene_Map < Scene_Base
- #----------------------------------------------------------------------------
- # • Lista de alias.
- #----------------------------------------------------------------------------
- alias :draw_hotkey_item_main :main
- alias :draw_hotkey_item_update :update
- #----------------------------------------------------------------------------
- # • Processo principal.
- #----------------------------------------------------------------------------
- def main
- @hotkey_item = Rpg::Hotkey_Itens_Event.new
- draw_hotkey_item_main
- @hotkey_item.dispose
- end
- #----------------------------------------------------------------------------
- # • Atualizaçaõ do processo.
- #----------------------------------------------------------------------------
- def update
- draw_hotkey_item_update
- @hotkey_item.update
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment