#============================================================================== # クラスチェンジでもろもろ変更 #  # クラスチェンジ時に職業に応じたグラフィック、装備、名前に変更します。 #  # 各職業に以下のようにタグを設定してください。 #  # 設定例 #  <歩行グラフィック "People4"> #  <歩行インデックス 7> #  <顔グラフィック "People4"> #  <顔インデックス 7> #  <武器 [1]> #  <盾 [1]> #  <頭 [1]> #  <身体 [1]> #  <装飾品 [1]> #  <デフォ名 "新兵"> #  # 歩行及び、顔グラフィックの変更 #  アクターの歩行、顔グラフィックの設定時に表示される名称を入力してください。 #  インデックスは左上を0として数えた数値です #   0123 #   4567 #  上記の並びになっていますので、該当する数字を指定してください #  # 装備品の変更 #  装備品は指定された配列からランダムに選択します。 #   <武器 [1,3]>とした場合、武器のID、1番か3番のどちらかを選択します。 #   <武器 [3]>とした場合、武器のID、3番を装備します。 #   <武器 [0]>とした場合、何も装備しません。 #  防具も同様ですが、本来装備できないものも装備しますので、数値の指定を間違えると、 #  足に盾を装備するような現象も起こるかと思います。 #  # 前提スクリプト #  汎用タグにてデータを取得しています。ご利用の際には汎用タグを導入してください。 #  #  汎用タグスクリプト #  http://gymaterials.jp/blog-entry-19.html #  # 利用規約 #  連絡不要 #  商用可 # 改造可 # 再配布可(無改造の場合はクレジットを消さないでください) # アダルト可 #  利用された際、クレジットはあると喜びます  #                        by 3dpose # http://customsaga.wiki.fc2.com/ #  # GY. Materials # http://gymaterials.jp/ #============================================================================== # ■ Game_Interpreter #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ○ アクターの職業を変更 #-------------------------------------------------------------------------- def cc_actor(aid,cid) actor = $game_actors[aid] actor.change_class(cid) if actor && $data_classes[cid] auto_gc_actor(aid) c_aequip_to_cequip(actor) c_aname_to_cname(actor) end #-------------------------------------------------------------------------- # ○ アクターの職業のグラフィックに自動的に変更。 #-------------------------------------------------------------------------- def auto_gc_actor(aid) actor = $game_actors[aid] ac = actor.class cn = ac.character_name ci = ac.character_index fn = ac.face_name fi = ac.face_index if actor actor.set_graphic(cn, ci, fn, fi) end $game_player.refresh end #-------------------------------------------------------------------------- # ○ 職業に応じた名前に自動変更 #-------------------------------------------------------------------------- def c_aname_to_cname(actor) actor.name = actor.class.mob_name if actor.get_tag("アクター種類") == "モブ" end #-------------------------------------------------------------------------- # ○ 職業に応じた装備に自動変更 #-------------------------------------------------------------------------- def c_aequip_to_cequip(actor) w = actor.class.mob_weapon s = actor.class.mob_shield h = actor.class.mob_helm b = actor.class.mob_body a = actor.class.mob_accessory actor.force_change_equip(0, w) actor.force_change_equip(1, s) actor.force_change_equip(2, h) actor.force_change_equip(3, b) actor.force_change_equip(4, a) end end class RPG::Class < RPG::BaseItem #-------------------------------------------------------------------------- # ○ 歩行グラフィック(ファイル名)を返す #-------------------------------------------------------------------------- def character_name get_tag("歩行グラフィック") end #-------------------------------------------------------------------------- # ○ 歩行グラフィック(インデックス)を返す #-------------------------------------------------------------------------- def character_index get_tag("歩行インデックス") end #-------------------------------------------------------------------------- # ○ 顔グラフィック(ファイル名)を返す #-------------------------------------------------------------------------- def face_name get_tag("顔グラフィック") end #-------------------------------------------------------------------------- # ○ 顔グラフィック(インデックス)を返す #-------------------------------------------------------------------------- def face_index get_tag("顔インデックス") end #-------------------------------------------------------------------------- # ○ mob名称 #-------------------------------------------------------------------------- def mob_name get_tag("デフォ名") end #-------------------------------------------------------------------------- # ○ 職業デフォルト武器 #-------------------------------------------------------------------------- def mob_weapon iid = gacha(get_tag("武器")) if iid > 0 result = $data_weapons[iid] else result = nil end result end #-------------------------------------------------------------------------- # ○ 職業デフォルト盾 #-------------------------------------------------------------------------- def mob_shield iid = gacha(get_tag("盾")) if iid > 0 result = $data_armors[iid] else result = nil end result end #-------------------------------------------------------------------------- # ○ 職業デフォルト頭 #-------------------------------------------------------------------------- def mob_helm iid = gacha(get_tag("頭")) if iid > 0 result = $data_armors[iid] else result = nil end result end #-------------------------------------------------------------------------- # ○ 職業デフォルト身体 #-------------------------------------------------------------------------- def mob_body iid = gacha(get_tag("身体")) if iid > 0 result = $data_armors[iid] else result = nil end result end #-------------------------------------------------------------------------- # ○ 職業デフォルト装飾品 #-------------------------------------------------------------------------- def mob_accessory iid = gacha(get_tag("装飾品")) if iid > 0 result = $data_armors[iid] else result = nil end result end #-------------------------------------------------------------------------- # ○ ガチャガチャ呼び出し #-------------------------------------------------------------------------- def gacha(x) return 0 if x == [] s=x.size r=rand(s) x[r] end end