Douglanilo
Mestre
Postagens : 959 Data de inscrição : 02/04/2009
| Assunto: Item PopUp Dom maio 17, 2009 10:35 pm | |
| Item PopUp Tibuda Descrição-script usado para mostrar ao mogador quando se ganha um ou mais iténs ou quantias de dinheiro. Mostra sempre os iténs e dinheiro que forem sendo adicionados. Os itens são representados por seus respectivos ícones e o Dinheiro por um ícone que você pode escolher. Instruções:-Posicione este script sobre o Main. -Para Chamar o Icon quando quizer simplesmente faça um Call da seguinte maneira; para o Jogador: - Código:
-
$game_player.popup_icon(icon_name[, number, color]) Para o Evento em que está o Comando: - Código:
-
self.event.popup_icon(icon_name[, number, color]) Para um outro Evento: - Código:
-
$game_map.events[id].popup_icon(icon_name[, number, color]) - ICON_TIME é o Tempo que um Ícone fica exposto. - ICON_DELAY é o Tempo que um Ícone esperará para aparecer quando um Ícone já está sendo Mostrado. - NUMBER_COLOR é a cor do número nos Ícones. - GOLD_COLOR é a cor do número para Dinheiro. -ITEM_COLOR são cores para Itens especiais. Todos os Outros Itens terão a Cor de Número na NUMBER_COLOR. Para adicionar uma cor especial para um Item faça o Seguinte: - Código:
-
ITEM_NUMBER_COLOR = {item_id => item_color, item_id => item_color....} Continue repetindo estes comandos para listar as cores Especiais. Use WEAPON_NUMBER_COLOR para Armas e ARMOR_NUMBER_COLOR para Armaduras.Também, deve-se adicionar uma imagem, com o nome: Coin3 na pasta: Graphics/Icons ScreenShots:script - Código:
-
=begin ┌──────────────────────────────────────┐ │● Item PopUp 1.10 │ │ │ │ Criado por │ │ │ │ Tibuda │ │ │ │ Traduzido por [ kbrito ] │ └──────────────────────────────────────┘
[b]Descrição e Uso:[/b] -script usado para Mostrar ao Jogador quando ganhou um Item ou Dinheiro. Mostra sempre os Itens e dinheiro que forem sendo adicionados. Os Itens são representados por seus Respectivos Ícones e o Dinheiro por um Ícone que vc pode escolher aqui. [b] Instruções:[/b] -Posicione este script sobre o Main.
-Para Chamar o Icon quando quizer simplesmente faça um Call da seguinte maneira: para o Jogador: $game_player.popup_icon(icon_name[, number, color]) Para o Evento em que está o Comando: self.event.popup_icon(icon_name[, number, color]) Para um outro Evento: $game_map.events[id].popup_icon(icon_name[, number, color]) -ICON_TIME é o Tempo que um Ícone fica exposto.
-ICON_DELAY é o Tempo que um Ícone esperará para aparecer quando um Ícone já está sendo Mostrado. -NUMBER_COLOR é a cor do número nos Ícones.
-GOLD_COLOR é a cor do número para Dinheiro.
-ITEM_COLOR são cores para Itens especiais. Todos os Outros Itens terão a Cor de Número na NUMBER_COLOR. Para adicionar uma cor especial para um Item faça o Seguinte: ITEM_NUMBER_COLOR = {item_id => item_color, item_id => item_color....} Continue repetindo estes comandos para listar as cores Especiais. Use WEAPON_NUMBER_COLOR para Armas e ARMOR_NUMBER_COLOR para Armaduras.
=end
#-------------------------------------------------------------------------- # module Popup_Item #-------------------------------------------------------------------------- module Popup_Item # Deixe true para ligar o efeito de Fade nos ícones. FADE_LOSE = false ICON_TIME = 40 ICON_DELAY = 24 # Altere aqui o ícone de Dinheiro. GOLD_ICON = "Coin3" # Insira o Nome de uma imagem de 32x32 para Background do ícone. BACKGROUND = "" # Edite a Fonte aqui. NUMBER_FONT = "Tahoma" NUMBER_SIZE = 12 NUMBER_COLOR = Color.new(255, 255, 255) # Cores de Número customizadas. # Deixe como está se vc não pretende usar este recurso. GOLD_NUMBER_COLOR = Color.new(255, 255, 0) ITEM_NUMBER_COLOR = {} ARMOR_NUMBER_COLOR = {} WEAPON_NUMBER_COLOR = {} # Deixe true se vc utilizar o "Trickster's Method & Class Library". TRICK_MACL = false end
#-------------------------------------------------------------------------- # Game_Character #-------------------------------------------------------------------------- class Game_Character attr_accessor :popup_icons alias popup_gm_party_init initialize def initialize popup_gm_party_init @popup_icons = [] end def popup_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR) @popup_icons.push([icon_name, number, color]) end def fade_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR) @fade_icons.push([icon_name, number, color]) end end #-------------------------------------------------------------------------- # Game_Party #-------------------------------------------------------------------------- class Game_Party def popup_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR) $game_player.popup_icon(icon_name, number, color) end def fade_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR) $game_player.fade_icon(icon_name, number, color) end alias popup_gm_party_gain_gold gain_gold def gain_gold(n) popup_gm_party_gain_gold(n) if Popup_Item::GOLD_ICON != "" and $scene.is_a?(Scene_Map) if Popup_Item::GOLD_NUMBER_COLOR.is_a?(Color) color = Popup_Item::GOLD_NUMBER_COLOR else color = Popup_Item::NUMBER_COLOR end popup_icon(Popup_Item::GOLD_ICON, n, color) end end alias popup_gm_party_gain_item gain_item def gain_item(id, n) popup_gm_party_gain_item(id, n) return if id < 1 or id >= $data_items.size if $scene.is_a?(Scene_Map) if Popup_Item::ITEM_NUMBER_COLOR[id].is_a?(Color) color = Popup_Item::ITEM_NUMBER_COLOR[id] elsif Popup_Item::ITEM_NUMBER_COLOR[0].is_a?(Color) color = Popup_Item::ITEM_NUMBER_COLOR[0] else color = Popup_Item::NUMBER_COLOR end popup_icon($data_items[id].icon_name, n, color) end end alias popup_gm_party_gain_weapon gain_weapon def gain_weapon(id, n) popup_gm_party_gain_weapon(id, n) return if id < 1 or id >= $data_weapons.size if $scene.is_a?(Scene_Map) if Popup_Item::WEAPON_NUMBER_COLOR[id].is_a?(Color) color = Popup_Item::WEAPON_NUMBER_COLOR[id] elsif Popup_Item::WEAPON_NUMBER_COLOR[0].is_a?(Color) color = Popup_Item::WEAPON_NUMBER_COLOR[0] else color = Popup_Item::NUMBER_COLOR end popup_icon($data_weapons[id].icon_name, n, color) end end alias popup_gm_party_gain_armor gain_armor def gain_armor(id, n) popup_gm_party_gain_armor(id, n) return if id < 1 or id >= $data_armors.size if $scene.is_a?(Scene_Map) if Popup_Item::ARMOR_NUMBER_COLOR[id].is_a?(Color) color = Popup_Item::ARMOR_NUMBER_COLOR[id] elsif Popup_Item::ARMOR_NUMBER_COLOR[0].is_a?(Color) color = Popup_Item::ARMOR_NUMBER_COLOR[0] else color = Popup_Item::NUMBER_COLOR end popup_icon($data_armors[id].icon_name, n, color) end end end #-------------------------------------------------------------------------- # module RPG #-------------------------------------------------------------------------- module RPG #-------------------------------------------------------------------------- # RPG::Sprite #-------------------------------------------------------------------------- class Sprite def popup_icon(name, number = 1, color = Popup_Item::NUMBER_COLOR) return if name == "" or name == nil return if number.is_a?(Numeric) and number < 0 and !Popup_Item::FADE_LOSE @icons = [] if !@icons.is_a?(Array) icon = {} icon["time"] = 0 - @icons.size * Popup_Item::ICON_DELAY if number.is_a?(Numeric) and number < 0 icon["fade"] = true number = - number else icon["fade"] = false end icon["sprite"] = RPG::Sprite.new(self.viewport) if Popup_Item::BACKGROUND != "" bitmap = RPG::Cache.picture(Popup_Item::BACKGROUND) icon["sprite"].bitmap = Bitmap.new(bitmap.width, bitmap.height) icon["sprite"].bitmap.blt(0, 0, bitmap, Rect.new(0,0,bitmap.width,bitmap.width)) else icon["sprite"].bitmap = Bitmap.new(32,32) end bitmap = RPG::Cache.icon(name) icon["sprite"].bitmap.blt(4, 4, bitmap, Rect.new(0,0,24,24)) if Popup_Item::NUMBER_SIZE > 0 and number != 1 and number != "" icon["sprite"].bitmap.font.outline = true if Popup_Item::TRICK_MACL icon["sprite"].bitmap.font.name = Popup_Item::NUMBER_FONT icon["sprite"].bitmap.font.size = Popup_Item::NUMBER_SIZE icon["sprite"].bitmap.font.color = color icon["sprite"].bitmap.draw_text(5, 28 - Popup_Item::NUMBER_SIZE - 1, 27, Popup_Item::NUMBER_SIZE, number.to_s) end icon["sprite"].ox = 0 icon["sprite"].oy = 20 icon["sprite"].x = self.x icon["sprite"].y = self.y - self.oy / 2 1 - icon["time"] icon["sprite"].z = 3000 icon["sprite"].visible = false @icons.push(icon) end def update_icons return unless @icons.is_a?(Array) return if Graphics.frame_count % 2 != 0 i = 0 while i < @icons.size if @icons[i]["time"] > Popup_Item::ICON_TIME @icons[i]["sprite"].bitmap.dispose @icons[i]["sprite"].dispose @icons.delete_at(i) else @icons[i]["time"] = 1 if @icons[i]["fade"] op = [255 * (1 - @icons[i]["time"] / Popup_Item::ICON_TIME),0].max @icons[i]["sprite"].opacity = op else @icons[i]["sprite"].y -= 1 end @icons[i]["sprite"].visible = @icons[i]["time"] >= 0 i = 1 end end end alias popup_sprite_update update def update popup_sprite_update update_icons end end end #-------------------------------------------------------------------------- # Sprite_Character #-------------------------------------------------------------------------- class Sprite_Character alias popup_spr_char_update update def update popup_spr_char_update if @character.is_a?(Game_Character) while @character.popup_icons.size > 0 popup_icon(@character.popup_icons[0][0], @character.popup_icons[0][1], @character.popup_icons[0][2]) @character.popup_icons.delete_at(0) end end update_icons end end[/i] Créditos e AgradecimentosTibuda - Criador do script Kabrito - Traduzir os comentários e instruções. Douglanilo - Postagem na Ever Grand |
|