#============================================================================== # ■ 特定の装備品を装備した時に音 Ver 1.0               By むー #------------------------------------------------------------------------------ #  ドラクエにあるような「呪いの装備をすると不気味な曲が流れる」を作れます。 #============================================================================== module MOO_CANT_EQUIP_CANCEL #-------------------------------------------------------------------------- # 以下、設定箇所です。 #-------------------------------------------------------------------------- # 音を鳴らす装備品のIDを列挙します。 # LOCK_WEAPON=武器 LOCK_ARMOR=防具 です。 LOCK_WEAPON = [2] LOCK_ARMOR = [2,26,41,51] # 上記ステート付加機能が付いた装備品を装備をした時に鳴らすサウンド SOUND_SOUND = "Audio/SE/blind" SOUND_VOLUME = 100 SOUND_PICH = 100 # 上からサウンド名、音量、ピッチです。 # サウンドを鳴らした時に発生させるウェイト SOUND_WAIT = 80 # 0の場合は待ち時間がありません。 # サウンドを鳴らす時にBGMを停めるか BGM_STOP = true # [使い方の一例] # ドラクエで言う呪いの装備を作る場合、 # 装備品の特徴で固定装備を付加します。 # その時に、本スクリプトで音を出しましょう。 # 外す場合は、イベントで装備を外せばOKです。 #-------------------------------------------------------------------------- # ここまで。 #-------------------------------------------------------------------------- end #============================================================================== # ■ Scene_Equip #------------------------------------------------------------------------------ #  装備画面の処理を行うクラスです。 #============================================================================== class Scene_Equip < Scene_MenuBase #-------------------------------------------------------------------------- # ● アイテム[決定] #-------------------------------------------------------------------------- def on_item_ok Sound.play_equip @actor.change_equip(@slot_window.index, @item_window.item) @slot_window.activate @slot_window.refresh @item_window.unselect @item_window.refresh # 装備したのが武器だった場合 if @slot_window.index == 0 # 未装備かどうか if $game_actors[@actor.id].equips[@slot_window.index].nil? else # 武器の指定があるかどうか if MOO_EQUIP_SOUND::SOUND_WEAPON.size >= 1 # 武器指定分ループ for chkid in MOO_EQUIP_SOUND::SOUND_WEAPON # 指定武器だった場合 if $game_actors[@actor.id].equips[@slot_window.index].id == chkid # 音を鳴らす sound_play_equip end end end end # 装備したのがもう片手だった場合 elsif @slot_window.index == 1 # 未装備かどうか if $game_actors[@actor.id].equips[@slot_window.index].nil? else # 二刀流かどうか if $game_actors[@actor.id].dual_wield? # 武器の指定があるかどうか if MOO_EQUIP_SOUND::SOUND_WEAPON.size >= 1 # 武器指定分ループ for chkid in MOO_EQUIP_SOUND::SOUND_WEAPON # 指定武器だった場合 if $game_actors[@actor.id].equips[@slot_window.index].id == chkid # 音を鳴らす sound_play_equip end end end # 防具の指定があるかどうか elsif MOO_EQUIP_SOUND::SOUND_ARMOR.size >= 1 # 防具指定分ループ for chkid in MOO_EQUIP_SOUND::SOUND_ARMOR # 指定防具だった場合 if $game_actors[@actor.id].equips[@slot_window.index].id == chkid # 音を鳴らす sound_play_equip end end end end # 装備したのが頭・身体・装飾品だった場合 elsif @slot_window.index >= 2 # 未装備かどうか if $game_actors[@actor.id].equips[@slot_window.index].nil? else # 防具の指定があるかどうか if MOO_EQUIP_SOUND::SOUND_ARMOR.size >= 1 # 防具指定分ループ for chkid in MOO_EQUIP_SOUND::SOUND_ARMOR # 指定防具だった場合 if $game_actors[@actor.id].equips[@slot_window.index].id == chkid # 音を鳴らす sound_play_equip end end end end end end #-------------------------------------------------------------------------- # ○ 音を鳴らす #-------------------------------------------------------------------------- def sound_play_equip se_name = MOO_EQUIP_SOUND::SOUND_SOUND se_volm = MOO_EQUIP_SOUND::SOUND_VOLUME se_pich = MOO_EQUIP_SOUND::SOUND_PICH se_stop = MOO_EQUIP_SOUND::BGM_STOP se_wait = MOO_EQUIP_SOUND::SOUND_WAIT $game_system.save_bgm if se_stop RPG::BGM.stop if se_stop Audio.se_play(se_name, se_volm, se_pich) if se_name != "" Graphics.wait(se_wait) if se_wait > 0 $game_system.replay_bgm if se_stop end end