Hey super das ging ja schnell ! dann schreib ich einfach mal den ganzen script rein... Ich weiß leider nicht wie der befehl für "code" im forum hier heißt... Code: #============================================================================== # ** Item Popup #------------------------------------------------------------------------------ # Tibuda # Version 1.12 # 02.23.07 #------------------------------------------------------------------------------ # * Version History : # 01.11.07 - Version 1.00 # 01.13.07 - Version 1.01 # - Bug fix: Bug while tryin' to unequip an item in the equipment scene # - Added: Item number font customization # 01.19.07 - Version 1.10 # - Added: Fading icons when losing items (optional) # - Added: Background image (optional) # - Added: Custom colors for each item # - Added: You can show a icon in events # - Added: Custom colors when calling the popup_icon # 01.23.07 - Version 1.11 # - Bug fix: Bug while changin'g class or changin' equip in the map # 02.23.07 - Version 1.12 (one month) # - Bug fix: Showing icon with 0 items/gold #------------------------------------------------------------------------------ # * Instructions # - To show an icon call the following script: # $game_player.popup_icon(icon_name[, number, color]) # for the player # self.event.popup_icon(icon_name[, number, color]) # for the current event # $game_map.events[id].popup_icon(icon_name[, number, color]) # for the the event id # - Customizing the duration # ICON_TIME holds the time a icon is shown # ICON_DELAY is time a icon will wait to appear when there's a icon showing # - Customizing the item number colors # The NUMBER_COLOR constant is the default color for all the item types # The GOLD_NUMBER_COLOR holds the color for the gold # The ITEM_NUMBER_COLOR hahs hold the color for specific items. # You can add a custom color for a item this way: # ITEM_NUMBER_COLOR = {item_id => item_color, item_id => item_color....} # If you want a default color for all items you can use the item_id 0 # Use WEAPON_NUMBER_COLOR for weapons and ARMOR_NUMBER_COLOR for armors #============================================================================== #-------------------------------------------------------------------------- # module Popup_Item #-------------------------------------------------------------------------- module Popup_Item # Fading icons FADE_LOSE = false # The time we show the icon ICON_TIME = 40 # The time before show a new item ICON_DELAY = 24 # Icon to show when the player gets money GOLD_ICON = "032-Item01" # A 32x32 background image BACKGROUND = "" # Font for the item number NUMBER_FONT = "Tahoma" NUMBER_SIZE = 12 NUMBER_COLOR = Color.new(255, 255, 255) # Custom font color for specific items GOLD_NUMBER_COLOR = Color.new(255, 255, 0) ITEM_NUMBER_COLOR = {} ARMOR_NUMBER_COLOR = {} WEAPON_NUMBER_COLOR = {} # True if using 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) popup_icon(icon_name, -number, color) if Popup_Item::FADE_LOSE end end #-------------------------------------------------------------------------- # Game_Party #-------------------------------------------------------------------------- class Game_Party attr_accessor :ignore_icon alias popup_gm_party_init initialize def initialize popup_gm_party_init @ignore_icon = false end 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) return if @ignore_icon || n < 1 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 or @ignore_icon || n < 1 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 or @ignore_icon || n < 1 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 or @ignore_icon || n < 1 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 #-------------------------------------------------------------------------- # Game_Actor #-------------------------------------------------------------------------- class Game_Actor alias popup_gm_actor_equip equip def equip(equip_type, id) $game_party.ignore_icon = true popup_gm_actor_equip(equip_type, id) $game_party.ignore_icon = false 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 @icons[i]["sprite"].update 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) 259 while @character.popup_icons.size > 0 260 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 Vielen Dank...
#============================================================================== # ** Item Popup #------------------------------------------------------------------------------ # Tibuda # Version 1.12 # 02.23.07 #------------------------------------------------------------------------------ # * Version History : # 01.11.07 - Version 1.00 # 01.13.07 - Version 1.01 # - Bug fix: Bug while tryin' to unequip an item in the equipment scene # - Added: Item number font customization # 01.19.07 - Version 1.10 # - Added: Fading icons when losing items (optional) # - Added: Background image (optional) # - Added: Custom colors for each item # - Added: You can show a icon in events # - Added: Custom colors when calling the popup_icon # 01.23.07 - Version 1.11 # - Bug fix: Bug while changin'g class or changin' equip in the map # 02.23.07 - Version 1.12 (one month) # - Bug fix: Showing icon with 0 items/gold #------------------------------------------------------------------------------ # * Instructions # - To show an icon call the following script: # $game_player.popup_icon(icon_name[, number, color]) # for the player # self.event.popup_icon(icon_name[, number, color]) # for the current event # $game_map.events[id].popup_icon(icon_name[, number, color]) # for the the event id # - Customizing the duration # ICON_TIME holds the time a icon is shown # ICON_DELAY is time a icon will wait to appear when there's a icon showing # - Customizing the item number colors # The NUMBER_COLOR constant is the default color for all the item types # The GOLD_NUMBER_COLOR holds the color for the gold # The ITEM_NUMBER_COLOR hahs hold the color for specific items. # You can add a custom color for a item this way: # ITEM_NUMBER_COLOR = {item_id => item_color, item_id => item_color....} # If you want a default color for all items you can use the item_id 0 # Use WEAPON_NUMBER_COLOR for weapons and ARMOR_NUMBER_COLOR for armors #============================================================================== #-------------------------------------------------------------------------- # module Popup_Item #-------------------------------------------------------------------------- module Popup_Item # Fading icons FADE_LOSE = false # The time we show the icon ICON_TIME = 40 # The time before show a new item ICON_DELAY = 24 # Icon to show when the player gets money GOLD_ICON = "032-Item01" # A 32x32 background image BACKGROUND = "" # Font for the item number NUMBER_FONT = "Tahoma" NUMBER_SIZE = 12 NUMBER_COLOR = Color.new(255, 255, 255) # Custom font color for specific items GOLD_NUMBER_COLOR = Color.new(255, 255, 0) ITEM_NUMBER_COLOR = {} ARMOR_NUMBER_COLOR = {} WEAPON_NUMBER_COLOR = {} # True if using 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) popup_icon(icon_name, -number, color) if Popup_Item::FADE_LOSE end end #-------------------------------------------------------------------------- # Game_Party #-------------------------------------------------------------------------- class Game_Party attr_accessor :ignore_icon alias popup_gm_party_init initialize def initialize popup_gm_party_init @ignore_icon = false end 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) return if @ignore_icon || n < 1 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 or @ignore_icon || n < 1 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 or @ignore_icon || n < 1 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 or @ignore_icon || n < 1 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 #-------------------------------------------------------------------------- # Game_Actor #-------------------------------------------------------------------------- class Game_Actor alias popup_gm_actor_equip equip def equip(equip_type, id) $game_party.ignore_icon = true popup_gm_actor_equip(equip_type, id) $game_party.ignore_icon = false 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 @icons[i]["sprite"].update 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) 259 while @character.popup_icons.size > 0 260 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
Geändert von fritte (23.05.2011 um 10:22 Uhr)
Foren-Regeln