| 本帖最后由 howhow1314 于 2015-4-17 11:54 编辑 
 
 class Window_ItemList < Window_Selectable    def process_handling    return unless open? && active    return call_handler(:kfc)   if handle?(:kfc) && Input.trigger?(:X)    super  end  alias item_kfc item  def item    return @item if @item    item_kfc  end  def item=(i)   @item = i  end  def draw_item_name(item, x, y, enabled = true, width = 172)    return unless item        draw_icon(item.icon_index, x, y, enabled)    change_color(normal_color, enabled)    name = item.name    name = "(A)" + name if $game_party.item_kfc.class == item.class && $game_party.item_kfc.id == item.id    draw_text(x + 24, y, width, line_height, name)  endend class Game_Party  attr_accessor :item_kfc  def use_item_kfc    if SceneManager.scene_is?(Scene_Map) && !$game_map.interpreter.running? && @item_kfc        if item_number(@item_kfc) > 0          SceneManager.call(Scene_Item)          SceneManager.scene.kfc = true        end    end  endend class Scene_Item < Scene_ItemBase  attr_reader :item_window  attr_accessor :kfc  alias start_kfc start  def start    start_kfc    if @kfc      @kfc = false      @item_window.item = $game_party.item_kfc      on_item_ok    end  end  alias create_item_window_kfc create_item_window  def create_item_window    create_item_window_kfc    @item_window.set_handler(:kfc, method(:on_item_kfc))  end  def on_item_kfc    if item_kfc?      Sound.play_ok      if $game_party.item_kfc.class == item.class && $game_party.item_kfc.id == item.id        $game_party.item_kfc = nil      else        $game_party.item_kfc = @item_window.item      end      @item_window.refresh    else      Sound.play_buzzer    end  end  def use_item    super    @item_window.redraw_current_item    @item_window.item = nil        end  def item_kfc?    item ? @item_window.enable?(item) && (1..10).include?(item.id) : false               #(1..10).include?(item.id) 可以自己改,或者刪掉  endend class Scene_Map  alias update_scene_kfc update_scene  def update_scene    update_scene_kfc    update_call_kfc unless scene_changing?  end  def update_call_kfc    unless $game_map.interpreter.running?      $game_party.use_item_kfc if Input.trigger?(:X)    end  endend
class Window_ItemList < Window_Selectable   
  def process_handling 
    return unless open? && active 
    return call_handler(:kfc)   if handle?(:kfc) && Input.trigger?(:X) 
    super 
  end 
  alias item_kfc item 
  def item 
    return @item if @item 
    item_kfc 
  end 
  def item=(i) 
   @item = i 
  end 
  def draw_item_name(item, x, y, enabled = true, width = 172) 
    return unless item     
    draw_icon(item.icon_index, x, y, enabled) 
    change_color(normal_color, enabled) 
    name = item.name 
    name = "(A)" + name if $game_party.item_kfc.class == item.class && $game_party.item_kfc.id == item.id 
    draw_text(x + 24, y, width, line_height, name) 
  end 
end 
  
class Game_Party 
  attr_accessor :item_kfc 
  def use_item_kfc 
    if SceneManager.scene_is?(Scene_Map) && !$game_map.interpreter.running? && @item_kfc 
        if item_number(@item_kfc) > 0 
          SceneManager.call(Scene_Item) 
          SceneManager.scene.kfc = true 
        end 
    end 
  end 
end 
  
class Scene_Item < Scene_ItemBase 
  attr_reader :item_window 
  attr_accessor :kfc 
  alias start_kfc start 
  def start 
    start_kfc 
    if @kfc 
      @kfc = false 
      @item_window.item = $game_party.item_kfc 
      on_item_ok 
    end 
  end 
  alias create_item_window_kfc create_item_window 
  def create_item_window 
    create_item_window_kfc 
    @item_window.set_handler(:kfc, method(:on_item_kfc)) 
  end 
  def on_item_kfc 
    if item_kfc? 
      Sound.play_ok 
      if $game_party.item_kfc.class == item.class && $game_party.item_kfc.id == item.id 
        $game_party.item_kfc = nil 
      else 
        $game_party.item_kfc = @item_window.item 
      end 
      @item_window.refresh 
    else 
      Sound.play_buzzer 
    end 
  end 
  def use_item 
    super 
    @item_window.redraw_current_item 
    @item_window.item = nil       
  end 
  def item_kfc? 
    item ? @item_window.enable?(item) && (1..10).include?(item.id) : false               #(1..10).include?(item.id) 可以自己改,或者刪掉 
  end 
end 
  
class Scene_Map 
  alias update_scene_kfc update_scene 
  def update_scene 
    update_scene_kfc 
    update_call_kfc unless scene_changing? 
  end 
  def update_call_kfc 
    unless $game_map.interpreter.running? 
      $game_party.use_item_kfc if Input.trigger?(:X) 
    end 
  end 
end 
 A鍵設置/使用
 
 按A前
   按A後
   |