Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so dont bother with any of their useless mail servers here and just use oauth login instead. Thank the nice Russians for causing that. :)

Paste

Pasted as Ruby by Deity ( 16 years ago )
=begin
 To show an icon on a event just take CtI = Iconid
 as the name of the event.
 Example: CtI = 1
 If you want to set the icon visible just use this in a
 Call Script...
 icon_visibility(id,status)
 id = eventid
 status = true/false
 this command works only for an event on the visited map.
 To change the visibility of all icons on the visited map use:
 all_icon_visibility(status)
 status = true/false
 To change the visibility of all icons on all visited maps use:
 global_icon_visibility(status)
 status = true/false
=end
class Game_Temp
  attr_accessor :eventicons
  alias initialize_icon initialize unless $@
  def initialize
    initialize_icon
    @eventicons = []
  end
end
class Game_System
  attr_accessor :eventiconsvisibility
  alias initialize_iconvis initialize unless $@
  def initialize
    initialize_iconvis
    @eventiconsvisibility = {}
  end
end
class Game_Event
  attr_accessor :name
  alias initialize_name initialize unless $@
  def initialize(map_id, event)
    initialize_name(map_id, event)
    @name = event.name
  end
end
class Game_Map
  attr_reader :map_id
  alias setup_emptyvisibilityicons setup unless $@
  def setup(map_id)
    $game_temp.eventicons = [] if @map_id != map_id
    setup_emptyvisibilityicons(map_id)
    if $game_system.eventiconsvisibility.include?(map_id) == false
      $game_system.eventiconsvisibility.store(map_id,[])
    end
  end
end
class Scene_Map
  alias initialize_event_icons initialize unless $@
  def initialize
    initialize_event_icons
    $game_temp.eventicons = []
  end
  alias update_transfer_player_event_icons update_transfer_player unless $@
  def update_transfer_player
    $game_temp.eventicons = [] unless $game_player.transfer? == false
    update_transfer_player_event_icons
  end
end
class Sprite_Character
  alias initialize_icon initialize unless $@
  def initialize(viewport, character = nil)  
    initialize_icon(viewport, character) 
    if character.class == Game_Event
      if character.name.include?("CtI")
        data = character.name.split
        id = data[data.index("CtI")+2].to_i
        @icon = Eventicon.new(id,character,viewport,character.screen_x - 32 + 4 + 12,character.screen_y - 32 + 4)
        $game_temp.eventicons.push(@icon)
        if $game_system.eventiconsvisibility[$game_map.map_id].size < $game_temp.eventicons.size
          $game_system.eventiconsvisibility[$game_map.map_id].push(false)
        else
          @icon.visible = $game_system.eventiconsvisibility[$game_map.map_id][$game_temp.eventicons.size - 1]
        end
      end
    end   
  end 
  alias dispose_icon dispose unless $@
  def dispose
    @icon.dispose if @icon != nil
    dispose_icon
  end
  alias update_icon update unless $@
  def update
    update_icon
    @icon.update if @icon != nil
  end
end
class Eventicon < Sprite
  attr_accessor :event
  def initialize(icon_index,event,viewport,x,y)
    super(viewport)
    @event = event
    self.visible = false
    self.x = x
    self.y = y
    self.bitmap = Bitmap.new(24,24)
    draw_icon(icon_index,0,0)
  end
  def draw_icon(icon_index, x, y, enabled = true)
    bitmap = Cache.system&#40;"Iconset"&#41;
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 128)
  end
  def update
    self.z = @event.screen_z
    self.x = @event.screen_x - 32 + 4 + 12
    self.y = @event.screen_y - 32 + 4
  end
end
class Game_Interpreter
  def global_icon_visibility(status)
    for i in $game_system.eventiconsvisibility
      for o in 0...$game_system.eventiconsvisibility[i[0]].size
        $game_system.eventiconsvisibility[i[0]][o] = status
      end
    end
    all_icon_visibility(status)
  end
  def all_icon_visibility(status)
    for i in $game_temp.eventicons
      i.visible = status
    end
    for i in 0...$game_system.eventiconsvisibility[$game_map.map_id].size
      $game_system.eventiconsvisibility[$game_map.map_id][i] = status
    end
  end
  def icon_visibility(id,status)
    for i in 0...$game_temp.eventicons.size
      if $game_temp.eventicons[i].event == $game_map.events[id]
        $game_temp.eventicons[i].visible = status
        $game_system.eventiconsvisibility[$game_map.map_id][i] = status
      end
    end
  end
end

 

Revise this Paste

Your Name: Code Language: