読者です 読者をやめる 読者になる 読者になる

RのSkyrim Mod開発日記

SkyrimのMod開発を中心に、備忘録などを載せていきます。

Bethesda.net にアクセスした際に "We're sorry but you may not access this site. Please review our Privacy Policy." が表示される

Bethesda.net にアクセスして次のように誕生日の入力が求められた際、入力を間違えると"We're sorry but you may not access this site. Please review our Privacy Policy."が表示され、サービスが利用できなくなります。

f:id:rrryutaro:20170203210812p:plain

Google翻訳にかけると「申し訳ありませんが、このサイトにアクセスすることはできません。 当社のプライバシーポリシーをご確認ください。」とのこと。

もしかすると同じ記事をかいたかもしれませんが、無意識に 日 / 月 / 年 と入力してしまったようです。

これを解除するには一旦Cookieを削除して再度入力し直す必要があります。
Chromeの場合、次の手順でCookieを削除します。

1. メニュー か chrome://settings/ から設定を開く
2. 画面下の[詳細設定を表示...]をクリックして詳細設定を表示させる
3. プライバシーの[コンテンツの設定...]ボタンをクリックする
f:id:rrryutaro:20170203211620p:plain
4. Cookieの[すべてのCookieとサイトデータ...]ボタンをクリックする
f:id:rrryutaro:20170203211820p:plain
5. 検索欄に"bethesda"と入力して絞りこみ、サイトが"bethesda.net"のCookieの[×]をクリックして削除します
f:id:rrryutaro:20170203212041p:plain

これで再度誕生日の入力が求められるので、月 / 日 / 年 の形式で入力をします。

入力する内容は年齢チェックとしておそらく17歳未満であるかのチェックをしているのだと思われますので、17歳以上となる内容を入力すればよいはずです。
試しに、現在(2017/02/03)時点で、"2010/02/03"はNGで"2000/02/04"はOKでした。誕生日計算の基準日時が世界標準時なのかサーバーの置かれている場所なのかは不明ですが、とにかく17歳以上となるような誕生日を入力すればよいでしょう。
よく考えると、CERO-Dだからってことですかね。

今回はそもそも、日付として有効ではない内容を入力したのでNGとなったのでしょう。


以上

Skyrim Mod 製作日記 - 11 - 錬金素材のランダム入れ替え

当初、The Alchemist of the Skyrim を製作するにあたって、どんなことが出来るようにしたいかをざっくりと考えていました。

rrryutaro.hatenablog.com

その内のひとつに、バニラの錬金素材の効果をランダムに入れ替えるということを考えていました。
前回NIF生成ツールを作成したので、これを実現するには、錬金素材部分の解析をするだけです。

というわけで、作ってみました。
f:id:rrryutaro:20170201235609p:plain

といっても、今回このModは公開していません。
当初の想定ではツールそのものを公開して、それぞれの環境でespファイルを生成してそれを使ってもらうおうと考えていたからです。

PS4版の場合、あらかじめ生成したものを公開するしかないので、どうしたものかと。
とはいえ、効果が異なるので、バニラでの錬金効果を知り尽くしてしまっている場合、新鮮な気持ちで遊べるかもしれませんので、頃合を見て公開してみようとは思います。


以上

Skyrim Mod 製作日記 - 10 - NIFの閲覧完全版

大分時間をかけてやっていたので、それまでの経緯の書きなぐりです。画像のキャプチャもほとんど撮ってません・・・


次の記事にて、NIFの閲覧用のModを作成しましたが、大分不完全なものです。
rrryutaro.hatenablog.com

出来れば、実際の全てのNIFファイルを見れるようにしたいです。
とりあえず、Skyrim - Meshes0.bsaからNIFファイルが配置されている、Meshesをすべて展開したところ、19,328ものファイルがあります。
これを手作業で行うのは無理があります。

というわけで、espファイルを生成するツールを作ることにします。
いずれはやるつもりだったので、よい機会です。

やることは原始的な地道なバイナリ解析です。
とはいえ、SSEEditがあるので大分楽です。

空のファイルを作成し、必要な項目を追加して、バイナリでどのように変化するかをWinMergeなどで比較して進めていきます。

とりあえずは、MiscItemのModelにNIFを指定した要素を作成し、これを固定で出力します。
コンテナに配置したりなどは、Cration Kitで行えばよいでしょう。

と思って進めましたが、まず、あまりにも数が多すぎてCrationKitでは編集は出来ても保存しようとした際にクラッシュしてしまいます。

仕方ないので、コンテナへの配置などもバイナリ解析して固定出力します。
Meshesの配下には全部で15フォルダあるので、15個とMeshes直下のファイルを入れるコンテナ1個で、合計16個のコンテナを用意して、ゲーム内に配置します。
この辺はCreationKitですませます。

後は、コンテナにアイテムを含める部分のバイナリ解析をして、先ほどのMiscItemを生成する部分でコンテナに配置します。

しかし、実際にゲーム上で試してみるとファイル数が多いコンテナを開こうとすると、数分操作不能になります。
やっと動かせるようになっても、誤ってコンテナからアイテムを取得するとまた数分操作不能です。

これは実用的ではありません。

仕方ないので、もっとちゃんとしたツールにします。
これまではほぼ固定形式でファイル出力するツールとしていましたが、ファイルの読込を行い、データ構造に取り込み、編集して、ファイル出力できるようにします。
これには編集しやすいように各種構造をクラス化するなりしてそれなりに手間がかかります。
とはいえ、これをやれば、今後様々な対応が出来ます。

というわけで、合間合間にとせっせと作り、どうにか出来上がりました。
DLC側のNIF等すべて含めたespを作った場合、表示がおかしくなり、分けると大丈夫だったので、とりあえずは、2つに分けました。
gaming.youtube.com
gaming.youtube.com

すでにBethesdaで公開した分は更新し、DLC側のModは新規作成。合わせて、PC版とXB1版の公開。さらにNexusにも登録しました。


自分の備忘録のためにも過程をキャプチャ含めて記事を書きたかったのですが、ひと段落着くと気が抜けてしまって、そこまでやる気が出ないものです・・・

Skyrim Mod 製作日記 - 9 - どうにかひと段落つく

PS4版基準でModを作成しはじめて1月以上がたちますが、どうにか癖も分かって、ひと段落着くところまで作れるようになりました。
といっても、序盤もいいところですが、今後は単純にデータ追加していくだけになるので、サクサク進むはずです。

ここまでにくる段階で色々と備忘録としてまとめたいことがありますが、とりあえず出来上がったものは次の通りです。

gaming.youtube.com

それぞれ、日本語版と英語版のPC、PS4版をBethesdaとNexusに登録しました。

以上

Skyrim Creation Kit 64-bit版のDialogue Viewsでクラッシュする問題

Creation Kit 64-bit版にてクエスト作成を行っている際に、Dialogue Viewsタブをクリックし、Dialog Viewsの項目をクリックした瞬間にクラッシュする場合、必要なDLLが登録されていない可能性があります。

以下の方法で、必要とするDLLを登録することで編集できるようになります。

1. コマンドプロンプトで、"Skyrim Special Edition"のフォルダを表示する。
2. "regsvr32 FlowChartx64.dll"
3. DLLを登録した旨のメッセージボックスが表示されたらOKをクリック

Bethesdaのフォーラムにて、他の質問者に便乗して質問をしていた所、回答がつき解決しました。
bethesda.net

この画面。
f:id:rrryutaro:20170127201002p:plain

元の記事。
Skyrim Mod 製作日記 - 5 - はじめてのクエスト作成2 - RのSkyrim Mod開発日記


以上

Skyrim Mod 製作日記 - 8 - NIFの閲覧

アイテムを作るにあたって、どのような見た目にするのかそのNIFを効率よく選ぶのに、NIFを閲覧できるビューワーが無いか探してみたが見当たらなかった。
編集を行うツールはあるのだが、サムネイルをみれるようなものが欲しかった。
もしかすると、使い方を知らないだけで、そのような機能があるのかもしれないが、それを調べるのが面倒だったので、どうせだから、すべてのNIFをコンテナに入れてみてるようにしてしまえばいいと思い、次のようなModを作成。
[PS4] R All NIF View Barrels

ゲーム中でよさそうな見た目を探して、見つけたら名前を記録して、Creation Kitで、そのアイテムのNIFのパスを取得するという手間がかかるが、今のところ他に方法が見当たらないので、これでよしとする。

どうにかこれで、せっせとアイテムが作れるようになった。


以上

Skyrim Mod 製作日記 - 7 - PS4版でやっと簡単なクエストができた

できたもの

youtu.be

たったこれだけのクエストを作るのに一体どれだけ苦労したのか・・・

実際の設定内容など

f:id:rrryutaro:20170117220111p:plain

話しかけたときに、相手が錬金術士トレーナー トマトで、クエストステージが10未満の場合に、「あなたは何者ですか?」を表示する。
また、会話をそのままで終わらせず、二つの選択肢を出す。

選択肢は「錬金術を教えてください!」と「いや、今はいい」(これは標準のメッセージを流用)。
教えてくださいの場合、
f:id:rrryutaro:20170117220454p:plain
クエストステージを10にして、クエストタイトルを表示する。
これが前回まで出来ていた状態。

「いや、今はいい」の場合、特に何も変化しない。
いずれの場合も、[GoodBye]にチェックをつけて、一旦会話が終わるようにしている。

続いて、別ブランチを作成し、次のようにトピックを作成
f:id:rrryutaro:20170117220647p:plain

実際に山師の薬を持ってきた際の反応。
まずここで、その山師の薬を持っているかの判断の作り方がわからなかったのです。
条件作りをする際、その条件の対象とする選択肢が[Run on]で選ぶということを。
f:id:rrryutaro:20170117220825p:plain

リストでは[Target]って表示しているのだから、ここも[Target]とかなっていればいいのに。
それに、項目も一番最初にあればよりわかりやすいのに。条件が一致した場合に対しての項目だと思い込んでいました。

ともかくも、相手が錬金術士トレーナー トマトで、クエストステージが10で、プレイヤーが山師の薬を持っている場合、選択肢が表示されます。
選択肢を選ぶと、クエストステージを20にします。
スクリーンショットでは;CODE NOT LOADEDとでていますが、これがまた曲者です。
本来なら GetOwninQquest().SetStage(20) と表示されていなければいけないのですが、何かしらのタイミングで無効になったうえに、これが書き換えられてスクリプトが動作しなくなったりします。
コレのせいで、動いていたつもりのものが動かなくなったりなど、混乱の元になっていました。

そして、クエストステージが20になった際に、[Quest Satges]で次のように設定しています。
f:id:rrryutaro:20170117221315p:plain
f:id:rrryutaro:20170117221358p:plain

クエストステージが20になったら、SetObjectiveCompleted(10)が実行されて、クエストステージ10にした際に表示したクエストが終了します。

いや、たったこれだけなのですが、まず、そもそもクエストステージなどの変更を行うスクリプトを探して、それを読み替えるようにして、そこで何か操作をミスるとスクリプトが書き換わって、それを直すと今度は別スクリプト扱いにされて、外部アセット扱いになるのか、PS4版としてアップロードできなくなって・・・

というわけで、ここまで出来るのにおよそ2週間を費やしました。