#=============================================================================== # ■ グラフィック変更装備 ver 1.02 #------------------------------------------------------------------------------- #  配布元: # 白の魔 http://izumiwhite.web.fc2.com/ # #  利用規約: # RPGツクールVXの正規の登録者のみご利用になれます。 # 利用報告・著作権表示とかは必要ありません。 # 改造もご自由にどうぞ。 # 何か問題が発生しても責任は持ちません。 #=============================================================================== #-------------------------------------------------------------------------- # ★ 初期設定。 #-------------------------------------------------------------------------- module WD_graphicequip_ini Equip_type = 3 #装備の種類。一種類しか選べません。 #0⇒武器、1⇒盾、2⇒頭、3⇒身体、4⇒装飾品 #武器の場合は、両利きキャラだと挙動がおかしくなるので注意 Data_max = 999 #この行は変更しないこと Equip_st = (0...Data_max+1).map{Array.new(0)} #この行は変更しないこと Equip_all = [] #この行は変更しないこと #===========以下、各装備、アクター毎のグラフィック指定========================== # Equip_st[装備ID][アクターID] = ["歩行グラ名",歩行グラ番号,"顔グラ名",顔グラ番号] # のように記載。 # 歩行グラと顔グラの番号は左上を0番として、0〜7で指定。 # ファイル名の先頭に$,!のついた歩行グラの場合は、番号は0。 Equip_st[14][1] = ["Evil",1,"Evil",1] #14番の装備をアクター2が装備すると #顔グラフィックがActor1の0番に変更 Equip_st[15][2] = ["Actor2",1,"",0] #15番の装備をアクター2が装備すると #歩行グラフィックがActor1の0番に変更 Equip_st[16][1] = ["Actor1",4,"Actor1",4] #14番の装備をアクター1が装備すると #歩行グラフィックと顔グラフィックがActor1の4番に変更 #===========以下、全てのアクターに共通してグラフィックを指定する場合============ # Equip_all[装備ID] = ["歩行グラ名",歩行グラ番号,"顔グラ名",顔グラ番号] # のように記載。 # 歩行グラと顔グラの番号は左上を0番として、0〜7で指定。 # ファイル名の先頭に$,!のついた歩行グラの場合は、番号は0。 Equip_all[16] = ["Actor1",4,"Actor1",4] #16番の装備を任意のアクターが装備すると #歩行グラフィックと顔グラフィックがActor1の4番に変更 end #-------------------------------------------------------------------------- # ★ 初期設定おわり #-------------------------------------------------------------------------- module WD_graphicequip def check_graphic(actor) if actor.orig_character_name == nil actor.orig_character_name = actor.character_name actor.orig_character_index = actor.character_index actor.orig_face_name = actor.face_name actor.orig_face_index = actor.face_index end end end class Game_Actor < Game_Battler include WD_graphicequip attr_accessor :orig_character_name # 元々の歩行グラ記憶用 attr_accessor :orig_character_index # 元々の歩行グラ記憶用 attr_accessor :orig_face_name # 元々の顔グラ記憶用 attr_accessor :orig_face_index # 元々の顔グラ記憶用 #-------------------------------------------------------------------------- # ● セットアップ # actor_id : アクター ID #-------------------------------------------------------------------------- alias wd_orig_setup23 setup def setup(actor_id) wd_orig_setup23(actor_id) @orig_character_name = @character_name @orig_character_index = @character_index @orig_face_name = @face_name @orig_face_index = @face_index end #-------------------------------------------------------------------------- # ● 装備の変更 (オブジェクトで指定) # equip_type : 装備部位 (0..4) # item : 武器 or 防具 (nil なら装備解除) # test : テストフラグ (戦闘テスト、または装備画面での一時装備) #-------------------------------------------------------------------------- alias wd_orig_change_equip22 change_equip def change_equip(equip_type, item, test = false) wd_orig_change_equip22(equip_type, item, test) check_graphic($game_actors[@actor_id]) item_id = item == nil ? 0 : item.id unless test if equip_type == WD_graphicequip_ini::Equip_type hantei1 = 0 hantei2 = 0 if WD_graphicequip_ini::Equip_all[item_id] != nil if WD_graphicequip_ini::Equip_all[item_id][0] != "" hantei1 = 2 end if WD_graphicequip_ini::Equip_all[item_id][2] != "" hantei2 = 2 end end if WD_graphicequip_ini::Equip_st[item_id].size != 0 if WD_graphicequip_ini::Equip_st[item_id][@actor_id] != nil if WD_graphicequip_ini::Equip_st[item_id][@actor_id][0] != "" hantei1 = 1 end if WD_graphicequip_ini::Equip_st[item_id][@actor_id][2] != "" hantei2 = 1 end end end if hantei1 == 1 @character_name = WD_graphicequip_ini::Equip_st[item_id][@actor_id][0] @character_index = WD_graphicequip_ini::Equip_st[item_id][@actor_id][1] elsif hantei1 == 2 @character_name = WD_graphicequip_ini::Equip_all[item_id][0] @character_index = WD_graphicequip_ini::Equip_all[item_id][1] else @character_name = @orig_character_name @character_index = @orig_character_index end if hantei2 == 1 @face_name = WD_graphicequip_ini::Equip_st[item_id][@actor_id][2] @face_index = WD_graphicequip_ini::Equip_st[item_id][@actor_id][3] elsif hantei2 == 2 @face_name = WD_graphicequip_ini::Equip_all[item_id][2] @face_index = WD_graphicequip_ini::Equip_all[item_id][3] else @face_name = @orig_face_name @face_index = @orig_face_index end set_graphic(@character_name, @character_index, @face_name, @face_index) $game_player.refresh end end end end class Game_Interpreter include WD_graphicequip #-------------------------------------------------------------------------- # ● アクターのグラフィック変更 #-------------------------------------------------------------------------- alias wd_orig_command_322 command_322 def command_322 actor = $game_actors[@params[0]] check_graphic(actor) actor.orig_character_name = @params[1] actor.orig_character_index = @params[2] actor.orig_face_name = @params[3] actor.orig_face_index = @params[4] case WD_graphicequip_ini::Equip_type when 0 item_id = actor.weapon_id when 1 item_id = actor.armor1_id when 2 item_id = actor.armor2_id when 3 item_id = actor.armor3_id when 4 item_id = actor.armor4_id end #装備品によるグラフィック変更判定 hantei1 = 0 hantei2 = 0 if WD_graphicequip_ini::Equip_all[item_id] != nil if WD_graphicequip_ini::Equip_st[item_id][0] != "" hantei1 = 2 end if WD_graphicequip_ini::Equip_st[item_id][2] != "" hantei2 = 2 end end if WD_graphicequip_ini::Equip_st[item_id].size != 0 if WD_graphicequip_ini::Equip_st[item_id][actor.id] != nil if WD_graphicequip_ini::Equip_st[item_id][actor.id][0] != "" hantei1 = 1 end if WD_graphicequip_ini::Equip_st[item_id][actor.id][2] != "" hantei2 = 1 end end end params_af = [] params_af[1] = @params[1] params_af[2] = @params[2] params_af[3] = @params[3] params_af[4] = @params[4] #装備品によるグラフィック変更 if hantei1 == 1 params_af[1] = WD_graphicequip_ini::Equip_st[item_id][actor.id][0] params_af[2] = WD_graphicequip_ini::Equip_st[item_id][actor.id][1] elsif hantei1 == 2 params_af[1] = WD_graphicequip_ini::Equip_all[item_id][0] params_af[2] = WD_graphicequip_ini::Equip_all[item_id][1] end if hantei2 == 1 params_af[3] = WD_graphicequip_ini::Equip_st[item_id][actor.id][2] params_af[4] = WD_graphicequip_ini::Equip_st[item_id][actor.id][3] elsif hantei2 == 2 params_af[3] = WD_graphicequip_ini::Equip_all[item_id][2] params_af[4] = WD_graphicequip_ini::Equip_all[item_id][3] end #グラフィックのリフレッシュ actor = $game_actors[@params[0]] if actor != nil actor.set_graphic(params_af[1], params_af[2], params_af[3], params_af[4]) end $game_player.refresh return true end end