前回はAI PackageにPapyrus Fragmentをつけて無理矢理人間の姿に戻る方法を作ったのですが、今回はもっと簡単な方法「人間に戻るAbilityを習得させる」をやってみます。
CKいじりもMod作りもわりと孤独な作業になりがちなので、コメントでアドバイスや示唆をいただけるとほんと励みになります。ありがとうございます!
Abilityですが、なにか参考はないかなとまずはお手本を探してみました。
以下、アルドゥインとメインクエストに関する身も蓋もないネタバレになります。
こちらはアルドゥイン専用のAbility「AbAlduinInvulnerability」です。その名のとおり無敵になる能力。
Effectをのぞくと、条件が設定されていました。どうやら飛行を許可されているときのみ、無敵になれるようです。
Abilityに登録されているMagic Effectに、このような短いScriptがついています。
アルドゥインにとってドラゴンレンドがいかに恐ろしいシャウトか、改めて思い知らされるScriptです。
「飛行を許可」されると「OnEffectStart」のイベントが実行され、無敵になります。
そして「飛行を禁止」されると条件設定によってこのMagicEffectの効果がFalseになって終了し、「OnEffectFinish」のイベントが動いて無敵が解除されます。
コンスタントな効果を持つAbilityでも、ちゃんと始まりと終わりがあるのが分かります。
それならば、こんな感じのAbilityをつくってNPCに覚えさせたら、自動的に人間に戻れそうです。
条件設定は、「これから元に戻ろうとする種族でないとき」にします。これであればウェアウルフだろうがウェアベアだろうが何に変身していても、人間に戻るフラグを立てることができます。
実際の作業にはいります。
まず新規のMagicEffectを作成。既存の「WerewolfChangeFXEffect」をベースに、ちょっとだけ設定を変更しています。
ScriptはすべてRemoveし、Addによって新しい自作Scriptを追加。
※デバッグ用メッセージにSKSEの関数を使用しています
【
OnEffectStart】
エフェクト開始イベント。状況としては、戦闘が始まってウェアウルフに変身した直後を想定してます。
"
RegisterForSingleUpdate(10.0)"で、10秒後に一回だけアップデートの予約を行います。
【
OnEffectFinish】
エフェクト終了イベント。特に使用しません。Abilityの実行条件がFalseになったとき、デバッグ用メッセージを表示させるのに使用しました。
【
OnUpdate】
アップデートのイベント。
初回はOnEffectStartから呼び出されます。戦闘中かどうかを判断して、人間に変身するタイミングをはかる処理になります。
戦闘中であれば再び5秒後にアップデートの予約をし、戦闘が終わっていれば10秒後にアップデートの予約をします。戦闘が終わった10秒後に再びアップデートで戦闘中かどうかの判断をします。戦闘状態でなければ、"TranceFormRace"で指定された種族への変身処理を開始します。念のために"
UnregisterForUpdate()"でアップデート処理もOFF。
もし新しい戦闘が始まっていれば、また5秒後にアップデートの予約が入ります。
戦闘が終わっても最低10秒間は様子を見て、すぐに変身を解かないようにしました。
各Propertyはこのように設定しています。
"bNaked"は元に戻ったとき裸になるかどうか。"True"にすると装備をすべて解除する処理がONになります。こちらの設定はお好みで。
Magic Effectができたら、このようにSpellでAbilityの作成。
条件を設定して、ElderRaceでないときだけこのAbilityが有効になるようにします。
NPCにこのAbilityを覚えさせます。
ウェアウルフに変身する魔法は、「変身しっぱなし」のタイプを登録。
あとはゲーム内で動作確認します。戦闘終了後、10~15秒程度で元に戻ってくれたら成功です。
試したところうまく動いてくれたので、しばらくこれで様子をみようと思います。
ゲーム中、このAbilityが有効になっているかどうかは「
Mfg Console」を使わせていただくと、一目瞭然です。
人間のときは"Inactive"、ウェアウルフのときは"Active"になっているはずです。
前へ |
次へ
1. 祝福と魔法の制御
ここ数日で次々と難題をクリアしていくUniさんに感心しております(≧0≦)b゛
魔法をCastする方法が…とにかくスゴイ…!!以前伺った時に、Questで管理されているフォロワーもいるという話を教えて頂いたのを思い出しました。あれから私もUseShoutやUseMagicを試したのですが…良い結果は得られませんでした。ブログの記事をちゃんと理解できているのか、まだ自分でも内容についていけているのか不安ですが…(汗)
Uniさんが「変身魔法を作る02」で編み出したQuestのScriptを用いた方法では、単に魔法やシャウトを使えないNPCに魔法を使わせるだけでなく、「装備できるSlotや武器」に登録されていないものでもQuest内のScriptにより使用可能になる、ということですか?
この方法を用いれば、種族変身魔法を使わせるだけに留まらず、刀剣を扱ったり、魔法や弓を使って遠隔攻撃ができる「半人狼」も作れるのかも…と思いました(^0^)
遠隔攻撃ができないことは、かなり痛い弱点になっていましたし…捕食以外の手段で回復することもできそうですね!
また、Questの作り方の記事は今後Modを作る上でとても参考になります!
>ウェアウルフになっているときだけ、レベルに応じて素手の攻撃力をあげるAbilityを作ってみました。
「WerewolfUnarmedDamage」が、ウェアウルフの素手攻撃力を示していたとは!敵キャラクターやNPCの攻撃力がどこで定義されているのか分からなかったのですが、Abilityのところで素手攻撃力は決定されているのですね。これは面白いです!プレイヤーウェアウルフは、DLC導入でかなり強化されたみたいですが、このSpellを使うことでNPCウェアウルフの強さの調節ができそうですね!!
「変身魔法を作る01」のコメントで、Spellの祝福化についてUniさんに相談しましたが、あの時点で自分はギブアップ状態でした…(^ ^;)
別の検証の最中に突然遭遇したことでしたので、詳細な条件設定なども分からず…かなりアバウトなコメントをしてしまい、すみませんでした。Uniさんからいただいたコメントや新しい記事を読ませていただき、どうやら「Type→Ability」にしたことが良い影響を及ぼしていたことが分かりました。
「変身魔法を作る03」の記事は素晴らしかったです!!、永続する効果を見事に制御し、Ability化できたのですね!特にアルドゥインの無敵の祝福からScriptを発展させるなんて…まさにボスの力の一部を吸収するUniさん(凄)
ファル粕「信じられない…!ドラゴンボーンだ…!!!」
しかし、私にはかなり難解な内容でした…(>w<)
何度か繰り返し読ませていただいており、これまでの処理を一つ一つ辿って把握するまでにかなり時間がかかってしまいました。
01→変身・解除も同一Magic内のScriptで行う「一体型」。
02→解除は別のMagicを用意し、Questによって強制Castさせる「分離型(Quest解除)」
03→解除は専用のAbilityを用意し、Conditionsの条件によってScriptのOn/Offを切り替えて発動させる「分離型(Ability解除)」
一応、このように私の頭の中では捉えておりますが…大丈夫でしょうか…まだまだScriptの所とかは難しいです。Uniさんの環境ではAbilityの方も上手くいったと伺い、次の展開へますます期待が高まっております!!Abilityの作り方をもとに、魔法を祝福化することでNPCが使わない新たな魔法を試してみたいです。
最近フォロワーと一緒に世界を人狼化して駆け抜けていましたが、途中で何回か戦闘に巻き込まれることがあり、人狼化フォロワーの観察を進めておりました。そこで思うところがあったのですが…Uniさんの人狼化フォロワーはキルムーブを出すことってありますか?まだプレイが足りないのかもしれませんが、ウェアウルフに特有の引き裂きや噛みつき、投げ飛ばしなどをしている場面に遭遇しておりません。また、普通のフォロワーの時も前から剣を指して抜く、という一つのキルムーブしか出しているところを見たことがなかったので、もしかしたらフォロワーのキルムーブは特定の物だけが指定されているのではないかと思い、ご相談させていただきました。
Re:祝福と魔法の制御
試していないのでなんとも言えませんが、無理かもしれません。人狼Raceそのもののデータを弄って、装備できるようにしてあげる必要もあるかも。
Scriptの"cast"は魔法の効果を強制的に発生させているだけみたいで、NPCに使わせるものではないらしいです。CKwikiの説明を見ると、「アニメーションつきでNPCに魔法を使わせたかったらAI PackageのUseMagicを使ってね」みたいなことが書いてありました。
>01→変身・解除も同一Magic内のScriptで行う「一体型」。
>02→解除は別のMagicを用意し、Questによって強制Castさせる「分離型(Quest解除)」
>03→解除は専用のAbilityを用意し、Conditionsの条件によってScriptのOn/Offを切り替えて発動させる「分離型(Ability解除)」
おお、分かりやすくまとめてくださってありがとうございます!
3つの記事でそれぞれ異なる3つの変身&解除の方法を書いています。汎用性が高いのは01で、自作フォロワーに使いやすいのは03の方法でしょうか。
まだまだ自分の手に負える改造ではなくて、記事もやり方の手順を書いただけで精一杯になってしまってます。かなり読みにくいし分かりにくいかもしれません、すみませんです。
>人狼化フォロワーはキルムーブを出すことってありますか?
そういえばキルムーブはまだ見たことがないです。
フォロワーを変身させてはじめてNPCウェアウルフが身近な存在になったのもありますけど、NPCのキルムーブ自体見ようと思って見られるものではないので、難しいですよね。
人間のフォロワーが繰り出すキルムーブは、片手剣のものをいくつか見た記憶があります。後ろから喉笛を掻っ切るのとか……。プレイヤー自身、山賊長に首を飛ばされたこともあったような。こちらはもしかしたら両手剣のパークを持っていたのかもしれないです。
相手にしている敵によってもモーションが発生するかどうか限られるようです。私もキルムーブの発生条件や仕様についてはさっぱりなので、とりあえず地道に観察してみますね。