WerFault.exeを起動させない

WerFault.exeはエラー報告関連のプログラムのようで、サービスの「Windows Error Reporting Service」を無効にしているとずっと起動し続けます。
ログオンしているユーザーで実行されるのにもかかわらず、ローカルセキュリティポリシーで実行を禁止しても起動する厄介者。
WerFault.exe ローカルセキュリティポリシー
セキュリティポリシーでも実行を防止できなかったので別の手で実行できないようにしてやります。
方法は簡単でWerFault.exeへアクセス権を変更してやります。

WerFault.exeの場所は
 x32: C:\Windows\System32\WerFault.exe
 x64: C:\Windows\SysWOW64\WerFault.exe
です。

システムディレクトリ/ファイルなので、管理権限をもったexplorerでもアクセス権を変更することはできません。
WerFault.exe 権限変更 不可
追加、削除ボタンやチェックボックスが選択できない状態。

ここで管理権限のあるコマンドプロンプトから以下のコマンドを実行し、WerFault.exeの所有権をログオン中のユーザーへ与えます。
takeown /f C:\Windows\SysWOW64\WerFault.exe

コマンド実行後以下のように表示されれば成功。
WerFault.exe 所有権変更
成功: ファイル (またはフォルダー): "C:\Windows\SysWOW64\WerFault.exe" は現在ユーザー "ログオン中のユーザー名" によって所有されています。

再度セキュリティ設定を開くと追加、削除ボタンやチェックボックスを使用できる状態に。
WerFault.exe 権限変更 可能
これでアクセス権を変更することが出来るようになったので、ここにログオン中のユーザーを追加します。

追加ボタンを押すとユーザーかグループの選択ウィンドウが出るので、ここにログイン中のユーザー名を記入します。
WerFault.exe ユーザー/グループの追加
記入したら「名前を確認」を押して、PC名\ユーザー名になったらOKを押して追加。
全ユーザーを対象にする場合はユーザー名Everyoneを追加すればOK。(多分Usersでもいけるはず・・)

あとは追加したユーザーのフルコントロール権限を拒否に設定。
WerFault.exe 権限変更 完了
あとは適用してOkすれば完了。

WerFault.exeさんさようならー
もう起動するんじゃねえw

SKSE 1.7.2のPapyrusスクリプト配列拡張を使う

従来のPapyrusスクリプトの配列の上限は128でした。
この128制限のお陰で配列を複数作って自前APIで配列を管理していましたが、SEKE 1.7.2で配列を拡張することが出来るようになったようです。

早速SKSEのコードを確認してみると、Utility.pscの69~76行目に以下のコードがありました。

; Size is treated as unsigned, negative numbers will result 
; extremely large positive numbers, USE WITH CARE
float[] Function CreateFloatArray(int size, float fill = 0.0) global native
int[] Function CreateIntArray(int size, int fill = 0) global native
bool[] Function CreateBoolArray(int size, bool fill = false) global native
string[] Function CreateStringArray(int size, string fill = "") global native
Form[] Function CreateFormArray(int size, Form fill = None) global native
Alias[] Function CreateAliasArray(int size, Alias fill = None) global native

おおお?返ってくる値はちゃんと配列だから、他のスクリプトでも楽に移行できそう。

と言うことで、RaceMenuのオーバーレイ機能を拡張してみます。
編集するのはRaceMenuのAPI「RaceMenuBase.psc」。

Event OnInitialized()
    _textures = new string[128]
    _textureBuffer = 0
 
    _sliders = new string[128]
    _sliderBuffer = 0
 
    _categories = new string[128]
    _categoryBuffer = 0
 
    ; Body Paint
    _textures_body = Utility.CreateStringArray(256, "")
    _textureBuffer_body = 0
 
    ; Hand Paint
    _textures_hand = new string[128]
    _textureBuffer_hand = 0
 
    ; Feet Paint
    _textures_feet = new string[128]
    _textureBuffer_feet = 0
 
    ; Face Paint
    _textures_face = new string[128]
    _textureBuffer_face = 0
EndEvent

変更は超簡単で、78行目の
_textures_body = new string[128]

_textures_body = Utility.CreateStringArray(256, "")
へ変更してコンパイルするだけ。

あとは今まで使いたくても使えなかったオーバーレイMODを有効にしてゲームを起動する。
CTDせず起動できたら、showracemenuコマンドでRaceMenuのオーバーレイを確認してみる。
Skyrim - PapyrusScript 配列拡張
・‥…━(゚∀゚)━━━☆
やった!登録テクスチャ数が128超えてるよ!

と言うことで、オーバーレイを拡張することができました。
オーバーレイ選び放題だ-!ヽ(゚∀゚)ノ

 
要望があったのでコンパイルしたバイナリを置いておきます
Racemenu: オーバーレイ登録上限拡張

オオカミ獣人の魔法がやばすぎるヽ(゚∀゚)ノ

今日は、昨日作ったオオカミ獣人の魔法をテストしてみた。

MPは初期値から+1000に設定し、NPCスキルには達人レベル魔法を登録済み。
破壊魔法パークも入れてあるのでMP消費量は半分。
レベルボーナスのMPに加えパークのMP消費半分があるから「MP豊富で、歩く戦車っぽい感じの火力になるんじゃないかなー」と予想して設定しました。

で、追加したNPCのホームポジションであるバナードメアの皆さんでテストしてみた。

これはNPCがよく使っている初級レベル魔法
Skyrim - フォロワー 初級レベル魔法
うん、他のNPCも多用する雷属性の魔法。
すごくフツウ。

そしてこれが達人レベル魔法
Skyrim - フォロワー 達人レベル魔法1 Skyrim - フォロワー 達人レベル魔法2
エフェクトがきつすぎて近くで発動されると見にくい・・・w
それにMPが豊富にあるもんだから、相手を倒すまでずーーーーと発動している((゜Д゜;))

そして・・達人レベル魔法が使用されたあとは・・
Skyrim - フォロワー 達人レベル魔法 その後
そこら中の物が散乱し酷い有様にw

これ宝箱に入っていないクエアイテムとかの場所で使われたら、アイテムがフィールド外なんて事が多発しそうで怖いなあーw

問題の戦車は、
このSSだと大きさはわからないけれど、子供NPCより少し大きい程度の身長。
Skyrim - Lykaios フォロワー  - アスカリ Skyrim - Lykaios フォロワー  - アスカリ
ムードはHappyの90なのでいつもニコニコしているけど、戦闘が始まったら達人レベル魔法を連発するバケモノにww
まさに小さな戦車 ((゜Д゜;))

しかし・・強いけど物が散乱するのがなあー
コンバットスタイルでは特定の魔法の使用頻度は設定できないっぽいし、他の手段を考えなければ・・・

オオカミなフォロワーを作ってみた

オオカミっぽい種族を追加するMOD「Lykaios - Playable Wolf Race」を2/19に導入し遊んでいました。
Skyrim - Lykaios
遊んでいるうちにフェネックの時のように同じ種族のフォロワーが欲しくなったので、Lykaiosのフォロワーを作ることに。

今フェネックフォロワーMODを見直してみると、当初は手探り状態だったせいかespにゴミが沢山ありましたw
なので、フェネックのNPC設定データだけエクスポートして新規espで作成開始!
Skyrim - Lykaios フォロワー作成 - CreationKit
フェネックの時に悩んでた甲斐があって、今回のリメイクはCTD等のバグを出さずにサクっと作成できました。

CreationKitでの作業が終わったら、Wrye BashでMODのマスター設定をしてTES5Editでゴミ探し。
Skyrim - Lykaios フォロワー作成 - MOD Manager Skyrim - Lykaios フォロワー作成 - TES5Edit
ゴミ探しは別にやらなくても良いけど、NPCの配置などでカメラ操作をミスったり、他のオブジェクトを起点にしたときに余計な変更ができてしまう場合があるから。
オブジェクトの動作に問題がなくてもMODを適用するときに差分は少ない方が良いしねー

次はSkyrim String LocalizerでMODの翻訳データを作成。
Skyrim - Lykaios フォロワー作成 - ローカライズ
テキストデータを外部Stringにする事で英語と日本語をゲーム内の設定だけで変更ができる(`・ω・)b
これも本当は要らないんだけど、公式の翻訳がおかしいときは英語にしたりしているので・・・

あとはゲームを起動して・・・テスト!
Skyrim - Lykaios フォロワー1 Skyrim - Lykaios フォロワー2
今回追加したのは、かなり赤いオオカミさんとちょっと青くてショタなオオカミくん。

Skyrim - オオカミとフェネックのフォロワー
赤い方はドレモラを意識した感じで、グレートソード等の両手持ち武器を使う近接タイプ。
青い方はショタ・・というよりは青年っぽい感じの破壊魔法タイプ。
ちなみにショタっ子のMPは初期値から+1000に設定したのでレベル毎のMPボーナスを含めると達人レベルの魔法もガンガンぶっぱなせる鬼畜仕様にww

これでケモノなパーティが完成。
最高難易度であるレジェンドにしても楽に遊べそうw
(*´p`)