| 汎用敵ユニットにSetSkillで付与した技能を忘れさせる方法について
【結論】 前のステージでバラ撒きザコにSetSkillした。 これを後のステージでClearStatusしたい。もしくは、セーブファイルからSetSkillしたという情報を消去したい。
詳細を以下にご説明します。
【1】汎用敵ユニット(つまりバラ撒く敵ユニット)の武装を手軽に変更したいと思った。 【2】武装のいくつかに必要技能で(上位)というのを追加した。具体的には次のような感じ。
=== Unit.txt ============================================================================== 強化兵(試験量産躰)(剣) 強化兵, (強化兵(汎用)専用), 1, 2 陸, 4, M, 0, 80 特殊能力 性別=男性 武器クラス=剣 銃火器 装備個所=腕 一般強化兵基本能力 (日中戦闘状態) ダミー特殊能力名=試験量産躰 僅かにだが仙命樹が埋めこまれた兵士。;日中は能力低下。 HP回復Lv0.5=再生 弱点=害 汎用U共通能力 U完全共通能力 格闘武器=日本刀 3800, 120, 900, 75 -ADB, OU_Kyoukahei(sword).bmp みね打ち, 900, 1, 1, +5, -, 10, -, AAAA, +20, 突眠S(上位) 抜刀術, 1100, 1, 1, +30, -, 20, 110, AAAA, +10, 武反先AL1(上位) 日本刀, 1300, 1, 1, +15, -, -, -, AAAA, +10, 武 ===============================================================================================
つまり、シナリオ前半では素のまま使い、武装は「日本刀」だけであってほしい、 シナリオ後半では「日本刀」に加え、「みね打ち」「抜刀術」も使ってほしい、というのがニーズです。
【3】シナリオ中、次のように必要技能を満たしました。
=== ***.eve ============================================================================== : : Create 敵 強化兵(試験量産躰)(剣) 3 強化兵(汎用) (平均Lv + 1) 10 17 第三部隊 Create 敵 強化兵(試験量産躰)(剣) 3 強化兵(汎用) (平均Lv + 1) 10 20 第三部隊 Create 敵 強化兵(試験量産躰)(銃) 3 強化兵(汎用) (平均Lv + 1) 15 16 第三部隊 : : ForEach 敵 SetSkill PilotID() 上位 1 非表示 Next : : ============================================================================================
【4】そして、動作としては望みどおりになりましたが、上記を行った数話後の.srcファイルをエディタで開いたところ、以下の記述が残っていました。
=== ***.src ============================================================================== : : "Ability(第三部隊)","上位" "Ability(第三部隊,上位)","1 非表示" "Ability(第三部隊:2)","上位" "Ability(第三部隊:2,上位)","1 非表示" "Ability(第三部隊:3)","上位" "Ability(第三部隊:3,上位)","1 非表示" "Ability(第三部隊:4)","上位" "Ability(第三部隊:4,上位)","1 非表示" : : ============================================================================================
つまり、単なるバラ巻きザコに付与した技能がセーブファイルの中に残り続け、容量を圧迫しています。 動作としては問題ないのですが、対象がバラ撒きユニットであることもあり、これが降り積もると容量や読み込み速度の問題が発生しかねないと考えます。
後のシナリオで
ForEach 敵 全 ClearSkill pilotid() 上位 next
等と消せるか試してみたが、以前のステージのグループIDは拾えない模様です。 おそらく毎話エピローグイベント内でClearSkillすれば大丈夫かとは思うのですが、そうすると少々修正量が大きくなるので できればまとめて消してしまいたいのが本音です。
以上の問題に対する解決法をご存知の方がいらしたら教えていただきたくお願いいたします。 もしくは、以前の記事で解決法が提示されていたらその場所を教えていただきたいです。 (SetSkillで検索かけてみましたが、今回の問題に該当するようなログは発見できませんでした)
|