2013/02/01

きみはペット ~アニマルフォロワーのしつけ方~

先日、長らく放置していたDawnguardのエセリウムの鋳造器具のクエストを、今頃になってようやく終えました。
ああ、これでカトリアさんともお別れかあ…と思ったら、思わずうるっときてしまったのに、隣で空気の読めない某ノルドが、「帝国はいまいましいリストが大好きでなァ~」とか言いながらウロウロするものだから、感動の成仏シーンが台無しでした。
ベセスダ様には、次はぜひとも空気の読めるAIを開発していただきたいです。
ソルスセイム島には、こいつらはもう絶対に連れていかない。

ところで、エセリウムのクエストで、最後に出てきたラスボスのマスターフォージ君なんですが……その大魔神のような勇姿にホレボレしてしまったので、フォロワーとして連れ回せないか、ちょっと弄ってみることにしました。
今まで人間のフォロワーはさんざん改造してきましたが、人間外のクリーチャーについてはチャレンジしてみたことがなかったので、今回はアニマル枠のフォロワーとしてマスターフォージ君を仲間にしてみたいと思います。
まずクリーチャー系のActorをフォロワーとして制御するためには、ダイアログ(会話)を通してプレイヤーと意思疎通が図れないといけませんので、Race(種族)の設定の中にある「Allow PC Dialogue」というチェックボックスをオンにします。
RaceのGeneral Dataタブの設定画面。

デフォルトのクリーチャーのRaceを直接変更してしまうと、既存の敵クリーチャーにも影響が出てしまいますので、フォロワー用にRaceを複製して作って、そこに変更を加えます。
ちなみに新規種族として作成すると、Body Skin用のArmorをその種族に対応させてやらないと体が表示されませんので、その辺もちょろっと調整してやる必要があります。
…んで、その新しく複製して作ったRaceで、フォロワー用のマスターフォージ君のActorを作ったら、AIやFactionsをフォロワーとして支障のないものに変更してやります。
(元の敵クリーチャーのFactionのままだったり、誰にでもむやみに襲い掛かったりするようなAIだったりすると、プレイヤーと敵対してしまいますので)
ちなみに人間のフォロワーとは違って、アニマル枠のフォロワーには、雇用フラグとして必須条件になっている「PotentialFollowerFaction」のようなものはありません。
しかし、今回のやり方では「CurrentFollowerFaction」をあらかじめ追加して「rankを-1」にしておく必要があります。
(※デフォルトの犬雇用クエストを通さないせいか、あらかじめそのActorが「CurrentFollowerFaction」のファクションに登録されている状態じゃないと、「CurrentFollowerFaction」を条件にするダイアログで新規のボイスタイプの自動割り振りがうまく行われないみたいです)
こんな風に直接話しかけて、仲間にできるようにダイアログを作ります。
クリーチャーをアニマル枠のフォロワーとして雇用するには、「ついて来い」→「いいだろう」というような対話にスクリプトをつけて、「DialogueFollower」クエストのAnimalエイリアスに、そのクリーチャーを直接ぶちこんでやります。
人間タイプのフォロワーのように、既存の雇用クエストをそのまま使いまわせる…というわけではないので、ちょっと面倒なのですが、ダイアログの新規作成さえできれば、スクリプト自体は単純なコピペ作業ですので特に難しいことはありません。
クリーチャーフォロワー用のダイアログは、新規クエストとして作成します。
新しいクリーチャーフォロワー用のダイアログは、既存の「DialogueFollower」のクエストの中には追加せずに、新規クエストとして改めて作ってやります。
人間のフォロワーで言ったら、「DialogueFavorGeneric」の「ついて来てくれ。手を貸してほしい」というダイアログと、「DialogueFollower」で設定されている「ここで待て」とか「ついて来い」といったダイアログ部分のみを一つにまとめて「クリーチャーフォロワー専用会話クエスト」にしているような状態です。
ダイアログのTopicの中身の設定はこんな感じ。
ダイアログのトピックの条件(Condition)は、既存の「DialogueFollower」クエストの犬のフォロワーのレスポンスの条件を参考に設定してやります。
仕組みは人間フォロワーとほぼ一緒で、GlobalValueの「PlayerAnimalCount」というのがアニマルフォロワーを既に雇用しているかどうかのフラグ、また「CurrentFollowerFaction」というのが現在、そのActorがフォロワーとして雇用中かどうかのフラグです。
あとは、ActorValueの「WaitingForPlayer」というのが、「ここで待て」と言われて待機中になっているかどうかの判定フラグですね。フォロワー用会話の条件に使われてるフラグは、その3種くらいかな。

セリフに付けるスクリプトの方は、「DialogueFollower」の「DialogueFollowerScript」の中で、フォロワーとして雇用したり、待機させたり、別れたりする処理の関数があらかじめ設定されていますので、その命令をそっくり使えばいいだけです。
雇用する時……(pDialogueFollower as DialogueFollowerScript).SetAnimal(akSpeaker)
待機させる……(pDialogueFollower as DialogueFollowerScript).AnimalWait()
ついて来い……(pDialogueFollower as DialogueFollowerScript).AnimalFollow()
別れる時………(pDialogueFollower as DialogueFollowerScript).DismissAnimal()
たとえば、フォロワーを雇用する場合は、話してる対象(akspearker)を引数に入れて「SetAnimal()」という関数を呼んでやれば、その対象がAnimalエイリアスに入り、フォロワーとして必要な一連の処理も「DialogueFollowerScript」の方でまとめてやってもらえます。
もちろん、プロパティとして、「pDialogueFollower」に「DialogueFollower」クエストを指定してやらないと、スクリプトは動きません。…てか、エラーになります。
そんなわけで、無事にフォロワーとして、マスターフォージ君を仲間にできました。

図体のデカいセンチュリオンのマスターフォージ君ですが、たまに狭くて通れない場所があったりするものの、意外なくらいプレイヤーの後をしっかり追ってきます。
ただ、動きはめちゃくちゃトロイです。
ドゥーマーの技術をもってしても、やはりロボットの二足歩行というのは難しいのでしょうかねえ。
ガガガ……コレガ ウワサニキク スカイリム ノ ソラデスノ ネ……
ようやく外に出てこられました。(長かった)
さて、これからどこに行きましょうか。
とりあえず、リバーウッドあたりにファストトラベルでもしてみましょうかね。
入口の門で頭がつかえそうになりましたが、なんとかギリギリ通過できました。
こうして見ると、意外に風景に溶け込んでいるというか……思っていたほど、浮きまくってる、ということはないですねえ。(そうでもない?)
リバーウッドの皆さんも、こんな百式みたいな金ピカなロボットがいきなりやってきたというのに、誰一人、見向きもしません。いつも通りの平常運転です。
まったく、この村の人達はニワトリをちょっと苛めただけでお祭り状態になるのに、騒いで欲しい時に限って、どうしてスルーするのでしょうか。
仕方ないので、そのへんの衛兵さんをボコって、注目を集めてみることにしました。
ゴオオオオォォォ……ドゥーマーの技術は世界いちぃぃぃぃぃ!!!
衛兵さんに喧嘩を売ったら、昼下がりののどかな村のひとときが、一瞬にして阿鼻叫喚の世紀末と化しました。
自分でけしかけておいてなんですが、アルヴォアさんちが大変です。
ちゃんと火災保険とか入ってるのかなあ。
まあ、三日と空けずにドラゴンに襲われるようなご時世なんですから、万が一の時のための準備はしてますよね。
…てか、おばちゃんがアルヴォアさんの奥さんだったら、旦那に生命保険だけはガッツリかけとく。
なぎはらえ!……どうした化け物、さっさと撃たんか!
ふふふ。これがやりたかったんですよねえ~。
ウルフリック首長も、こんなドゥーマーの秘密兵器を発掘して、サルモールの本拠地に乗り込んでいくぐらいの気概を見せてくれていたら、こんなに嫌われなかっただろうになあ……
ちなみにこの火炎放射、CKで見てみたら、シャウト扱いなんですよね。
ドゥーマーの技術をもってすれば、ドヴァキンも人工的に量産できてしまいそうです。
こんな巨神兵にも果敢に立ち向かってゆく勇者アルヴォアさん。
スカイリムの鍛冶屋さんは、どうしてこんな命知らずな方が多いのでしょうか。
まあ、妻子を守るために敵に突っ込んでゆく姿は男らしいといえば男らしいですけど。
もう、アルヴォアさんが世界を救ってくれたらいいよ。

さて、せっかくリバーウッドまで来たので、しばらくぶりにレイクビュー邸の我が家にも立ち寄ってみることにしました。
子供達や留守番組の皆さんにも、新しいオモチャを見せてやりたいので。
今回改めて気づいたのですが、センチュリオン君も、ちゃんと歩く時のモーションと、走る時のモーションがあるんですね。
走る時のモーションは、前のめりにつんのめりそうな体勢になります。
あと、全身からスチーム(蒸気)が出ているせいか、足元にいた兎が近くに居ただけで蒸し殺されていました。(なぜかリバーウッドのニワトリ君は平気でしたが)
兵器として開発されただけあって、やはり外の世界を気ままに闊歩するには、危険な存在のようです。
それにしても遅い!です。牛より遅いかも……。
フォージ君の牛歩より遅いスピードに合わせてやりながら、ようやくレイクビュー邸に到着すると、巨人さんが大暴れしていました。
まあ、これだけ人数がいたら、巨人さんなんて瞬殺でしたが。
ただいまぁ!パパが帰ったよ……って、あれ?
玄関先にたどり着くと、愛娘が声を弾ませて「犬だわ! パパ、犬がいるって知らなかった! すごくかわいい…」と飛びついてきました。
犬って……やっぱりアレ↑のことか……
娘に甘々なパパとしては、OKせざるを得なかったのですが……これ以上、扶養家族が増えたら、うちは経済的にも収容スペース的にも破綻するような気がします。

…ってか、娘に気をとられて、すぐには気が付かなかったのですが……地面に転がっている獣の死骸……まさか、うちのスタンプ君じゃないよね?
やっぱり死んでたのはスタンプ君でした。ノオオオーー!
ショックのあまり、変な言葉遣いになってしまうフロドナー君。
気持ちはわかります。おばちゃんもしばらくショックで固まってました。
巨人めええええ。あとで死ぬほどイヤがらせしてやる。
新しい犬が家の中に入ってきました。……ってか、どうやって入った!?
スタンプ君くらいのサイズでも、家の中で飼うのはちょっと邪魔だなあと思っていたのに、これはもう邪魔とかいうレベルじゃありません。
家の中にクレーン車が入ってきたみたいなモンですから。
ペットって、外で飼うわけにはいかないんでしょうか?
こんな重機が乗っかったテーブルで食事するの、すごく落ち着きません……。
モモ!おすわり!と叱ってみましたが、動き回れるスペースがないので、この位置から動こうとしませんでした。
まあ、家の中に入っただけでも奇跡ですからね。
メインホールが吹き抜けの構造で良かった。
ヒイイィ。おうちが壊れちゃう。
ペット化したものの、フォロワー状態のままだったので、地下室にまで着いてきました。
(無理についてこなくていいのに)
そもそもこの家は、鍛冶スキル40そこそこしかない素人大工のウルフリック首長がたった一日で建てたものです。こんな重機が動き回って床が耐えられるのか……かなり心配になってきました。
scaleを0.5にしてみたら、なんとか家の中で飼えるサイズになりました。
このくらいだったら、まあ、邪魔にならないかな。
存在自体が邪魔というか、場違いな感じがしなくもないですけど……。
加湿器だと思えばいいか。
外にいれば、そんなに違和感ないんだよなあ……
ちなみに、アニマルフォロワーをHearthfireのペットにするには、「BYOHRelationshipAdoption_PetAllowedRacesList」と「BYOHRelationshipAdoption_PetDogsList」いうFormlistにあらかじめ追加したいクリーチャーのRaceを登録しておかないといけません。
(試してませんが、Dawnguardのハスキー犬やトロールなんかも、このFormlistに入れればペットにできる筈です)

24 件のコメント:

  1. 初めまして いつも楽しく拝見しています。
    私もマスターフォージ君をフォロワー化していたのですが、ウィンドスタッド邸が阿鼻叫喚でしたw マスターフォージ君の弾き飛ばした皿にあたった詩人が敵対 攻撃し始めてから妻や執政まで乱戦に参加して生き残ったのはマスターフォージ君だけという地獄絵図でした。w
    皿のあたり判定で敵対ってのも不思議ですが、ハースファイアー奥深いですね。

    返信削除
    返信
    1. へえ~、蹴飛ばしてしまった物が当たっても敵対するんですね。
      うちも大人数でわさわさしてる上、いろんなところに物を置きまくっているので、事故には気をつけないとなあ。

      ところで、マスターフォージ君って、長い間、戦闘してると、火炎のシャウトを使わなくなりませんか?
      マジカ切れというわけでもないみたいなんですが……謎です。

      削除
  2. セレーナのセリフで笑ったwもしセレーナみたいに地下遺跡に封印されててプレイヤーによって目覚めるとかだったらそれはそれで男のロマンですよね!ラスボスは開発者で生命と機械の融合を研究してて、黒魂石に己の魂を封じ込めてとフォージ君と合体する事で不死にして最強の肉体が完成される……やばい書いてるだけで燃えてきたwww

    返信削除
    返信
    1. その設定で行くと、フォージ君はプレイヤーと旅するうちに自我に目覚めて、ラスボスの生みの親と合体することは拒みそうですね。
      そして、人間になりたい……とか言い出しそう。
      そんでもって、重機なヒロインの愛らしさに魅了されたプレイヤーの皆さんが、センチュリオンと結婚するModクレクレ状態になるのです……なわけないか(笑)

      削除
  3. Knight-HawK2013/02/01 20:57

    ソフィちゃんの感性だとセンチュリオンも「かわいい~」なんですね(笑

    しかし、Animal枠のフォロワーってちょっと面倒だったんですね。Actorなんだからできるはず、と「CKでいじればできますよ」って書きましたが、簡単に言った事を反省…。
    GECKだとリファレンススクリプトで直接制御してたので、NPCもクリーチャーもほぼ変わらない感じだったんですが、CKだとエイリアスで制御するから種族まで作らないといけないんですね…。
    まぁ、エイリアスに入れ込む条件のスクリプトの作り方によってはGECKと同じ制御もできるんでしょうけど、それだとたぶん重くなるんでしょうね。(だからエイリアス制御になってるんだろうな~)

    しかし、ペットを屋外で飼えるかどうかはすごく興味あります。(ペット用のSandboxを外で設定すればいいのかな?)
    というのも、狼男のシンディングさんの行き場所が無さそうなので、ついでにレイクビュー亭の番をしてくれたらいいな~とか思ってたんです。
    ファルクリースから近いのはアレですが、襲ってくる山賊やらを八つ裂きにしても誰も文句は言わないと思うので。^^;
    …でも、娘がいるとやっぱり「犬だ、かわいい~!」発言するんですかね…(汗
    犬っぽいけどファルクリースであんな事した奴ですしね…。

    返信削除
    返信
    1. あのシンディングさんを番犬にしようとは……ナイスアイデアですが……子供達に近づけるのは、ちょっとやだなあw
      でもプチ女王様なうちの愛娘なら、「馬鹿な犬ね」を連発して、危険なロリ狼を下僕にしてしまいそうです。

      ペットのスケジュールは、「BYOHRelationshipAdoptionScheduler」というクエストの「FamilyPet」というエイリアスのAIパッケージで設定されてるようですので、そこに、執政が家の外をパトロールするAIパッケージ(レイクビュー邸でしたら「BYOHHouse1StewardSandboxOutside10x8」)を24時間対応にしたものでも、ぶち込んでやれば、外で徘徊するようになるのかな、と思います。
      まあ、シンディングさんでしたら、DA05Sindingという彼のActor本体のAIパッケージを弄っちゃった方が早いかもしれませんが。

      削除
  4. ス・・・スターーーンプ!!!!
    なんてこった!いつもフロドナーくんの後ろをプリプリ
    着いてくる愛嬌のあるコだったのに・・・
    そしてフロドナー君の反応が・・・(苦笑)

    それにしてもスカイリムの住人たちは危険と隣り合わせで
    見ててすごく危なっかしく思えてきます・・・
    ブレイズとかギルドを繁栄させると街にメンバーを
    配置できたりしたらよかったんですけど・・・
    どちらにしてもパーサーナックス師匠に報いを
    与える気分にはとてもなれませんが・・・

    ・・・申し遅れました
    今まで匿名で書かせていただいたものです。
    これからもブログを楽しみにしてます!

    返信削除
    返信
    1. Dawnguard以降は、ほんとNPCが死にやすくなりましたよね。
      Hearthfireで孤児を作るためにわざと死ぬ機会を増やしたんじゃないかと思うくらい……人が減った分、新たな住人がどこからか引っ越してくるような仕組みならいいんですけどね。

      > ブレイズとかギルドを繁栄させると街にメンバーを
      > 配置できたりしたらよかったんですけど・・・

      いいですね、それ。
      ってか、各ギルドはせめて自分の地元くらい、自発的に守ったらどうなのか……と思います。
      同胞団の皆さんとか、ジョルバスクルに篭ってないで、街の中を定期的にパトロールして欲しいです。

      削除
  5. >外にいれば、そんなに違和感ないんだよなあ……
    美化しまくって世界観も何もない私ですが、とても違和感です。

    このセンチュリオンのペット化を利用すれば、
    野良ウサギとか野良キツネ果てには野良ゴンも飼えるようになるのでは?と妄想が膨らみます。

    希望としてはドラゴンのスケールを犬くらいに小さくして、飛んでいる状態でフォローしてくれるといいな!なんて思っています。
    ウサギとかキツネみたいに逃げ回るような動物の場合はフォローさせるのもスクリプト絡みになっちゃうのでしょうか。
    ウルフリックがウサギ飼ってるとか絵面想像するだけで吹きます。

    返信削除
    返信
    1. ウサギやキツネは、お子様が拾ってきて「飼ってもいい?」って尋いてくることがありますよね。
      その仕組みを見る限りでは、ファクションを設定して、フォローするAIパッケージをつけてやるだけで、なついてくれるようです。

      ドラゴンは……小さくしても、空を飛んでくれるのかなあ……
      犬くらいの大きさでも、敵をパクっと咥えたりするんでしょうかね。
      ちょっと、あとで試してみよう。

      > ウルフリックがウサギ飼ってるとか絵面想像するだけで吹きます。

      ウサギに「氷血の士」とか「嵐の刃」とか仰々しい名前をつけていそうですw

      削除
    2. 横からですが、以前に小型ドラゴンのフォロアーModを入れたことがあるので書き込ませていただきたいと思います。

      結果から言いますと小型ドラゴンは問題なく飛行しますし、戦闘等も普通に行います。

      ただ、フォロアー化の難点を上げますと、歩行時にひたすら地面や壁にめり込みまくって動けなくなりテレポートする、を繰り返す事ですね。おそらく小型化すると当たり判定がズレるのではないかと。

      削除
  6. はじめまして
    知り合いから面白いブログがあると紹介されて見にきてみたら
    センチュリオンが鍛冶屋を放火している写真で
    他人の家で閲覧していたのに腹筋が崩壊しましたw
    過去記事も読ませて頂いたのですが
    笑いすぎて苦しくなって良い意味で困りました(^^;

    過去記事を見てみると、スクリプト改造だけではなく
    家の飾りつけもされているようにお見受けしたのですが
    私は上手く飾りつけとかができないので
    何かコツとかありましたら教えて頂きたいものです^^

    返信削除
    返信
    1. コメントありがとうございます。笑っていただけて、嬉しいです。

      スカイリムのアイテムの配置には、ちょっとした法則がありまして……まず、それを知らないと、せっかく苦労してアイテムを並べてもうまくいかないんですよね。
      簡単にいうと、武器以外のアイテムは、インベントリから家の中に落とした最初の状態では、どんなに動かしてもデータ上の座標は変化しないという仕様になっています。
      だから、その状態のままアイテムを飾り付けしても、後で見ると、いろんなところに散らばってしまったりするわけです。
      アイテムの配置場所をデータ上の座標と連動させるには、一度家の外に出て、ロード画面を挟んで戻ってくるという行為が必要です。
      詳しくは、スカイリム室内装飾ガイドという記事で取り上げたことがありますので、良かったらご覧ください。

      ちなみに上記の座標の法則をこころえていてたとしても、アイテムをゲーム内で好きなように置いたり飾ったりする操作自体が難しいですよね。
      物によっては変なところに重心があるので、つかんだ瞬間ひっくり返ってしまう物とかありますし。
      私は部屋の飾り付けや食事の配膳は自作のModを使ってアイテムを配置しています。
      手前味噌で何ですが、もしModを導入できる環境でしたら、「ディスプレイマーカー」というアイテム配置を補助するツールModを配布しておりますので、良かったらお試しくださいませ。

      削除
  7. はじめまして。おばちゃんのやり方を参考にしてクリーチャーのフォロワーと作ってみたのですが、TopicのScriptsEndに(pDialogueFollower as DialogueFollowerScript).SetAnimal(akSpeaker)として、その後はどうすればいいのでしょうか?

    返信削除
    返信
    1. その後とは……?すみません、ちょっと意味がわからなくて、お答えしにくいです。
      手順としては、それ以上、何か特殊なことをしなくてはならない、ということは無いと思うのですが……

      プロパティをきちんと設定してやらないと、スクリプトはエラーになってしまうかと思いますが、その辺は問題なくコンパイルできていますか?
      CK上では何もエラー等はなく、単にゲーム内でModを導入してもダイアログが出てこない…という症状でしたら、一度Modを導入した状態でセーブし、すぐさまロードする……ということを試してみてください。

      削除
  8. 言葉が足りず申し訳ありません。

    プロパティを設定しようとしても、Errors encountered while attempting to reload the scripというエラーが出てしまい、どうしたらいいのかよくわからない状態です。
    コンパイル時にエラーが出ますが、(↓)いったいどういう状況なんでしょうか。お答えいただければ幸いです。
    Starting 1 compile threads for 1 files...
    Compiling "TIF__030036CE"...
    C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__030036CE.psc(9,1): pDialogueFollower is not a variable
    C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__030036CE.psc(9,19): cannot cast a pdialoguefollower to a dialoguefollowerscript, types are incompatible
    No output generated for TIF__030036CE, compilation failed.

    Batch compile of 1 files finished. 0 succeeded, 1 failed.
    Failed on TIF__030036CE

    返信削除
    返信
    1. その状況は、「pDialogueFollower」というワードが何なのかわからないので、コンパイルできません、というエラーが出ている状態です。
      プロパティを設定しないで、いきなりスクリプト欄に「pDialogueFollower」を含むコードを書くとそうなります。

      プロパティを設定するには、先にスクリプトをセッティングしておく必要があります。
      スクリプト欄に、まずエラーの出ない当たり障りのないコード(コメントなど)を入れて「Compile」ボタンを押し、「ScriptName」欄にスクリプトが追加されたのを確認したら、一度OKボタンを押してTopic Info画面を閉じてください。
      そこでやっとTopicに紐づけられたスクリプトが確定しますので、次にTopic Info画面を開いたときには、設置したスクリプトにプロパティが追加できるようになっていると思います。

      クエストのダイアログやシーンの設定画面は、ちょっとクセがあって、一度ウィンドウを閉じたり、保存をかけたりしないと反映されない箇所があるんですよね。
      あと、トピックやシーンなどのスクリプト欄は、何かの拍子に、テンポラリに残ったコードがいつまでも消えずにいて、修正が反映されないこともあります。
      うまくいかない場合は、お手数ですが、もう一度、最初から新規クエストの新規ダイアログで設定し直した方が良いかもしれません。

      削除
  9. >某ノルドが、「帝国はいまいましいリストが大好きでなァ~」とか

    コドラクの葬儀の最中に、ウチのセラーナさんはカンカンと鍛冶をやっていらっしゃったのが笑えたw

    返信削除
  10. ここを見てサウスフリンジのキツネのカボチャくんのフォロワー化にチャレンジしてみましたが挫折しました。

    うん、スクリプトだのダイアログだのが全くわからない人間はチャレンジしても無理ってのがわかりました。orz

    返信削除
    返信
    1. カボチャ君とすでに出会ってしまった後のデータでは、カボチャ君そのものをフォロワーにできるように改造するのは、この記事のやり方ではうまく行かないかと思います。
      (私も記事中でフォロワーにしたマスターフォージ君は、本物ではなく、複製した新規の個体なんです)
      カボチャ君をコピーした新規のキツネでもうまくいきませんかね?

      やっぱりスクリプトのからむダイアログの編集は、難しいですかねえ……
      確かにダイアログの編集はCK自体の挙動にちょっとしたクセがあるので、それに慣れないとドツボにはまることがあるんですが……そういったコツのようなものって、なかなかわかりやすく文章にはできないんですよね。
      すみません。いかにも簡単にできるように書いてしまいまして。

      削除
  11. こんにちは。また書きこみさせていただきます。
    今、自分がやってるのはまさに動物フォロワーなんですが、やはりスクリプトとプロパティ設定が難関です。あともう少しという所なんですけどね・・・。

    僕も[pDialogueFollower]のプロパティ設定手順やコンパイルがよくわからずいつもエラーになってしまいます。

    それと他フォロワーMODのデータを見てみると、actorのpapyrus script欄に
    DialogueFollower DialogueFollowerScript DialogueFollower
    FollowerMessage Message <>
    PlayerAnimalCount GlobalVariable PlayerAnimalCount
    という3行のプロパティ内容のスクリプトが1つ大抵入っているのですが、これの作成方法もわかりません。

    色々調べましたが何だかややこしくて結構難しいものですね・・・。

    返信削除
    返信
    1. すみません、お返事がおそくなりまして。
      ブローテッド・マンの洞窟に関していただいたコメントの方は、ちょっと調べないとわからないので、もう少しお時間くださいね。


      > 僕も[pDialogueFollower]のプロパティ設定手順やコンパイルがよくわからずいつもエラーになってしまいます。

      そうですか……やっぱり、難しいですかねえ……
      まあ、ちょっとしたコツがいるのは確かなんですが、そもそもプロパティとは何なのか、スクリプトというのはどういう書式じゃないとまずいのか、ということがわかっていれば……そんなに難しいことではないような気もするんですけど……どうでしょうか。


      ちなみに「プロパティ」というのは、簡単にいえば「変数」の一種です。
      「変数」というのは、たとえば「This is the pen」という文章があるとして……「the pen」というのが、それに当たります。

      私は英語も苦手なんで間違ってるかもしれませんけど、この場合、「the pen」というワードを使うには、そのペンが何をさすのか、ということを相手がきちんとわかってる状態でないと、たぶん使えないですよね。
      いきなり何の説明もなく「the pen」というワードを使ったら、聞いてる人は「そのペンってどのペンよ?」という感想を抱くのではないかと思います。

      スクリプトの「変数」もそれと一緒でして、コンパイラはいきなりスクリプトの中に「pDialogueFollower」というワードが出てきたら、「は?」と思って、エラーを出すわけです。
      コンパイラに「pDialogueFollower」というワードを理解してもらうためには、あらかじめ「pDialogueFollower」というのはQuest型のプロパティです、ということを事前に説明しておかないといけません。
      それがスクリプトをコピペする前にプロパティを登録しておかなければならない理由です。

      ……んで、その前もって登録しておかなければならないプロパティというのは、
      まずスクリプト自体がないと登録できないシロモノなので、先になんらかのスクリプトを生成しておく必要があるわけです。
      このへんがちょっとややこしいわけですが……スクリプトは未定義のワードを含んでいたらエラーを出しますんで、この最初のスクリプト生成時にはコメントアウトマークの「;」のみをまず先に入力してコンパイルしておくのです。
      そうすればエラーは絶対に出ませんから、無事にスクリプトファイルが生成されて、めでたく「pDialogueFollower」のプロパティ登録ができます。
      そうしたら「pDialogueFollower」というワードを含むスクリプトをコピペしても、コンパイラは文句を言わないはずです。



      > 3行のプロパティ内容のスクリプトが1つ大抵入っているのですが、これの作成方法もわかりません。

      実際に見てみないと何ともいえませんけども、この3行のプロパティのうち、下の2行については、プロパティを追加するボタンを押して「message」と「GlobalVariable」を選べば、ふつうに追加できるんじゃないかと思います。
      1行目の「DialogueFollowerScript」型のプロパティだけは、デフォルトでは選択肢にはないので、スクリプトのソースファイルをエディタで開いて直に編集して追加する必要があるかと思いますが。


      ……というかちょっと不思議に思ったのですが、それってフォロワーのActorそのものにスクリプトがついてるんですかね??
      どんなModがそういうことをしているのか……できれば教えていただきたいです。

      削除
    2. このようなコメントに御返事ありがとうございます!
      ブローテッド・マンの洞窟については、結局そのままクリアしてしまいました。それから何度か洞窟に訪れてもなぜか狩人は現れることはなくなりましたが、別におかしな不具合とかもなかったです。(^_^;)

      動物フォロワーについてですが、実はあれからさらに調べて、動物フォロワーを作る事ができました。あの時全然わからなかったんですが、スクリプトのつけ方は多少覚えられました。(^^)

      作れるようになると楽しくなるもので、また管理人さんの説明を見ながら、時間があればもう少し覚えてみたいと思います。ありがとうございます。

      [Actor]のデータについているスクリプトについては、どういう動作に使っているのかもよくわからないんですよね。
      (前のコメントでは投稿したら記述が一部消えてしまっていました。すいません。)

      例としてリンク貼っていいのかわかりませんが、動物系フォロワーMODを調べていた時にこれをよく見かけました・・・。
      まだスクリプトはよくわからないもので、うまく説明できなくてすいません。


       そうそう最後に自己紹介ですが、実は僕も以前Nexus MODでいくつかゲームモデル等を投稿していた者です。
      現在はブログでちょっと公開してる程度ですが、いつか違う投稿サイトで投稿してみたいなと思っています・・・。

      管理人さんが前にやられていた戦利品室の新規トロフィー追加とか、僕も作ったりしました。(笑)

      削除
  12. おばちゃん様、はじめまして。猫たまごと申します。
    おばちゃん様のおかげで、無事、炎の精霊をフォロワー化できました。
    次は、氷の精霊の見た目を変えて、
    ノーム的な何かのフォロワーを作ろうと思いますw
    見た目が良い感じなんですよね、氷の精霊。
    本当に助かりました!ありがとうございます!

    返信削除