【RGSS3】装備している時にスイッチをONにする

Sえす
記事: 26
登録日時: 2020年5月21日(木) 00:50

【RGSS3】装備している時にスイッチをONにする

投稿記事by Sえす » 2021年2月19日(金) 09:03

装備を付けた時に特定のスイッチがONになり、
装備を外した時にスイッチをOFFにしたいです。

TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 【RGSS3】装備している時にスイッチをONにする

投稿記事by TOMO » 2021年2月19日(金) 16:22

多分これで可能です

コード: 全て選択

class Game_Actor
  #--------------------------------------------------------------------------
  # ● 装備の変更
  #     slot_id : 装備スロット ID
  #     item    : 武器/防具(nil なら装備解除)
  #--------------------------------------------------------------------------
  alias tomo_switch_change_equip change_equip
  def change_equip(slot_id, item)
    temp_item = @equips[slot_id].object.dup
    tomo_switch_change_equip(slot_id, item)
    change_equip_switch(temp_item, true)
    change_equip_switch(item, false)
  end
  #--------------------------------------------------------------------------
  # ● 装備の変更時のスイッチ切り替え
  #     flag    : true(装備前)、false(装備後)
  #--------------------------------------------------------------------------
  def change_equip_switch(item, flag)
    return unless item
    if item.note.match(/<スイッチ(ON|OFF)\s?:\s?(\d+)>/i)
      case $1.upcase
      when "ON"
        $game_switches[$2.to_i] = !flag
      when "OFF"
        $game_switches[$2.to_i] = flag
      end
    end
  end
end
装備のメモ欄に「<スイッチON:n>」を入れると、
スイッチID:nが付けた時にONで外した時にOFFとなります
(nは整数)

ついでに「<スイッチOFF:n>」で、付けた時にOFFで外した時にONとなります

“VX / Ace:スクリプト素材のリクエスト” へ戻る