2013年7月14日日曜日

HotKeys++ 1.8

2013/06/01 更新
  正式版をNexusで公開しました。

2013/06/02 更新
  Version 1.2をアップロードしました。
  エンチャントや鍛冶強化された武器を複数持っていた場合に、間違ったアイテムを装備してしまう問題
  を修正しました。

2013/06/07 更新
  バージョン1.3を公開しました。
  ・SHIFT CTRL ALTなどの修飾キーを追加しました。
  ・装備/装備解除のトグル機能をつけました。
  ・登録できるスロットを32個から128個に増やしました。

2013/06/12 更新
  バージョン1.4を公開しました。
  ・付呪済みの武器を持ち替えると、チャージが消えるバグを修正しました。
  ・MOD数が128を超えている場合に、一部のMOD追加アイテム&魔法が正しく登録できない不具合を修正しました。
  ・一部スペルが正しく詠唱できない不具合を修正しました。 (かろかろさん、ありがとうございます)

2013/06/16 更新
  バージョン1.5を公開しました。
  ・両手詠唱できるようにしました(両手詠唱には「二連の唱え」パークが必要です)
  ・左手武器をきちんと装備解除できなかったり、CTDしていた不具合を修正しました。

2013/06/22 更新
  バージョン1.6を公開しました。
  ・ウェアウルフやバンパイア・ロードに変身するとき、デッドロックをおこしていた問題を修正しました
   (変身時のホットキー切り替えでデッドロックをおこしていたせいで、変身がスムーズにできなくなっていました。)
  ・「実行後に元の装備に戻す」オプションを追加しました。魔法詠唱などと併せて使うと便利だと思います。

2013/06/29 更新
  バージョン1.7を公開しました。
  ・装備中のアイテムを一括登録する機能をつけました。
  ・システムメニューを追加しました。

2013/07/14 更新
  バージョン1.8を公開しました。
  ・トグル機能で装備をはずした際、クラッシュすることがある不具合を修正しました。
  ・両手武器をはずした際、元の片手装備に戻らないことがある不具合を修正しました。




アイテムを使用するPapyrus関数がみつからず、完成しないままお蔵入りになる予定でしたが
tktkさんに「ポーションとかはEquipItemで使えるよ」と教えて頂いたおかげで
なんとか日の目を見ることが出来ました。

http://skyrim.nexusmods.com/mods/36728/


なにこれ?


お気に入り(Q)のホットキーを拡張するMODです。

同じキーに複数の装備を入れて、一気に装備したり
魔法を装備した後に自動で詠唱したりもできます。



この動画では、[F1]キーに以下のアクション設定しています。
(1) オークフレッシュ・左手詠唱
(2) 消音・右手詠唱
(3) 炎のマント・左手詠唱
(4) 魔力の剣・右手詠唱
(5) イスグラモルの盾・装備

シャキシャキと音が頻繁に鳴っているのは、画面外でセラーナさんが
魔法の持ち替えに反応して、武器を出したりしまったりしているせいです。
おねがいします、空気読んでください。

必要要件



Skyrim 1.8.151 or 1.9.32
SKSE   1.6.7以上
SkyUI  3.1以上

特徴


  • お気に入りのショートカットキーを、数字1~8以外に設定することができます
  • 設定はすべてゲーム内で出来ます。専用のiniファイルをいちいち作成する必要はありません。
  • 「使う」「食べる」「捨てる」「右手に装備」「左手に装備」「右手で詠唱」など、追加アクションを指定できます。
  • 同じキーに、複数のアイテムを割り当てられます。(鎧セットや剣と盾セットなどに便利)
  • 武器は、どちらの手に装備するか選べます。
  • 魔法は、装備するだけでなくその場で詠唱することも可能です。ただし両手での詠唱はできません。(そのうち可能にする予定はあります)
  • 魔法詠唱はきちんと詠唱しますし、マジカも消費します。もちろんマジカが無い場合は詠唱できません。
  • 魔法だけでなく、スクロールや杖も詠唱できます。
  • たいまつは、地面に捨てることができます。
  • バンパイア・ロードでも使用できます。バンパイアロード専用の設定に切り替わります。

使い方


ショートカットの設定はMCMで行います。
MOD設定 → Hotkeys++ のタブから設定してください。

メニューに英語と日本語が混じる場合
(1) hmkHotkeys.bsaをアンパックし、Interface/translations/hmkHotKeys_japanese.txt を取り出す
(2) 取り出したファイルを hmkHotKeys_english.txt にリネームし、Data/Interface/translations/ にコピー

使用例


(例:その1)
右手でオークフレッシュを詠唱し、詠唱しおわったら黒檀の剣を装備する。
[F1] に オークフレッシュ / 右手で詠唱 を設定
[F1] に 黒檀の剣 / 右手に装備 を設定


(例:その2)
一括で破壊術に特化した装備に切り替える。
[F2] に 破壊術のローブ / 装備
[F2] に 破壊術のサークレット / 装備
[F2] に 破壊術の指輪 / 装備

これからの予定


同じアイテムが複数あってエンチャや強化が違う場合に、意図したアイテムが装備されない仕様の改善。
(これはPapyrusの仕様なので、しょうがないと言えばしょうがないのですが、力技でなんとかなりそう。)

(済) なんとかしました。Papyrusを使わずに装備するようにしました。面倒くさかったです。

マウスジェスチャーやアナログスティックのコマンド入力みたいな機能を付けたい。

シャウトもホットキーで発動できるようにしたい。(少しだけ難しい)

デュアルキャスト対応
(済)対応しました。

[SHIFT]+[F1] のようなキーバインドにも対応させたい。(設定の配置とかどうしよう)
(済) 対応しました。

魔法詠唱後に、元の装備に戻す機能
(済) 対応しました。

2013年6月26日水曜日

Lock-On 0.2.2


Lock-On 0.2.2
 http://skyrim.nexusmods.com/mods/33791/





なにこれ?


Skyrimに、ロックオン機能を追加するMODです。

個人的感想ですが、箱コンでの操作がむっちゃ楽になると思います。

操作方法


(キーボード)
ロックオン/解除 左[SHIFT]
右/左のターゲットを選択 左[SHIFT]+[A][D] または 右[SHIFT]+マウス左右移動
一番近いターゲットを選択 左[SHIFT}+[S]

(箱コン)
ロックオン/解除 [LB]
右/左のターゲットを選択 [LB]+アナログスティックを右/左
一番近いターゲットを選択 [LB]+アナログスティックを下

箱コンを使っている場合のみ、右スティックでクロスヘアの位置を微調整できます。
これで動いてるターゲットに弓や魔法を当てやすくなったはず。


MCMメニューで、「ダブルタップでのターゲット切り替え」にチェックを入れると
移動キーダブルタップや、アナログスティックを素早く2回入れることで
ターゲット切り替えが出来るようになります。

1.8からの更新点


  • カメラのレスポンスが大幅に良くなりました。
  • カメラスピードの選択で、50ms~2000msまで選択できるようにしました。
  • 箱コン使用時に、右スティックでクロスヘアの位置が微調整できるようになりました。
  • 「ロックオンキー+↓で一番近いターゲットを選択」の操作を追加しました。
  • ウサギ・鹿・キツネなどの動物を選択しないオプションを追加しました。
  • ターゲットが死亡したときに、ロック継続/ロック解除/一番近い敵をロックオン を選べるようにしました。
  • ロックオン時に、選択音がなるようにしました。
  • NMMインストーラーを改善しました。Skyrimのバージョンを自動認識するようにしました。
  • その他、細かいバグの修正。

2.1からの更新点


  • ごくまれに、ロックしたまま解除できなくなる不具合を修正しました。
    (エフェクトが消えてるのにロックされたまま解除できなくなり、MCMも動作しなくなります)
  • Mod Organizerで正しくインストールできない不具合を修正しました。

(もし可能なら)やりたいこと


  • 紫のエフェクトではなく、ゼルダのZ注目みたいにしたい
  • HUD MenuのEnemyHealthMeterに、ロックオン対象の名前とライフが表示されるようにしたい
  • MCMとかの英語がむちゃくちゃなのは、、、、だれか助けて

2013年5月31日金曜日

hmkArrow 0.4

2013/05/31 更新

v0.4をアップしました。
http://himika.com/stuff/hmkArrow_0_4.7z
Dawnguard追加ダンジョンで、クロスボウのトラップを踏むとCTDしていた問題を修正しました。

作ってるうちに飽きてしまったMODシリーズ 第一弾

私は、ゲームバランスとか、利便性とか、そういうの一切考えずに
ほとんどその場の思いつきと勢いだけでMOD作成してるんで、飽きるのが早いです。

あと、勢いだけで「第一弾」とか言ってるので、第二弾に続くかどうか分かりません。

hmkArrow.esp

特殊効果をもった矢を4種類追加します。
どの矢もチート気味の矢ばかりですので、ご利用は計画的に。

http://himika.com/stuff/hmkArrow_0_4.7z
  • Teleport Arrow 着弾地点にテレポートできる矢
  • Knee Breaker  膝に当てると大ダメージを与えられる矢
  • Time Bomb Arrow しばらくしてから大爆発する矢。人も物も吹き飛ぶ。
  • Dwarven Thresher Arrow ドワーフ遺跡のアレが生えてくる矢


このMODの画期的な点は
「SKSEプラグインの力によって、矢のProjectileが当たった座標を拾える 」ことです。
矢の飛んでいった先にテレポートしたり、矢があたった場所にオブジェクト生成したり
いままで出来なかったことが出来ます。


矢は、ゲーム開始/MOD初導入で10本ずつ渡されます。



再入手は、ホワイトランのジョルバスクル裏手の藁人形(いちばん左)を弓でピスピスしてください。
うまく的にあたると、変な音が鳴って矢が貰えます。

近すぎると貰えません。遠くから当てるといっぱい貰えます。

(おまけ) hmkArrow.dllのソースファイル http://himika.com/stuff/hmkArrow_0_3_src.7z

2013年5月12日日曜日

個人的メモ

Skyrim 1.9.32用

パピルス関数のアドレス一覧
http://www.himika.com/stuff/PapyrusFunctionAddr_1_9_32.txt

コンソール関数のアドレス一覧
http://www.himika.com/stuff/ConsoleAddr_1_9_32.txt

仮想関数(TESObjectREFR、Actor、Character、PlayerCharacter)のアドレス一覧
http://www.himika.com/stuff/VFuncAddr_1_9_32.txt

2013年4月22日月曜日

Lock-On 0.1.8

Nexusで公開中の Lock-On - adds a lock-on system の0.1.8です。

[beta1]   http://www.himika.com/stuff/LockOn_0_1_8beta.7z

(追記: 2013/04/22) beta2をアップしました
[beta2]   http://www.himika.com/stuff/LockOn_0_1_8beta2.7z

(追記: 2013/04/25) beta3をアップしました
[beta3]   http://www.himika.com/stuff/LockOn_0_1_8beta3.7z

(追記: 2013/04/26) Nexusにアップしました
   http://skyrim.nexusmods.com/mods/33791

更新点


  • 箱コンでターゲット切り替えができない問題に対処しました
  • 箱コン使用時は、右スティックでターゲット切り替えできるようにしました (beta3)
  • ダブルタップでターゲット切り替えできる機能をつけました(キーボード操作のみ)
  • 敵に発見されたときに自動でターゲットするオプションをつけました
  • カメラのスピードを高速化。200msecまで設定できるようにしました。
箱コンで切り替えできない問題なのですが、、、作者が箱コンを持ってないので
完璧に対処できているのか、ちょっと自信がないです・・・

もし動かなかった場合は、報告していただけると助かります。

2013年4月12日金曜日

やりかけの仕事リスト

どこかに書いておかないと、忘れそうなので。


調査中
  • SKSEプラグインでToggleFlyCamを呼び出すと、カメラがどっかに飛んでいく件
  • ObjectReference.RemoveItem関数で、LeveledItemだったオブジェクトが消せない件
  • ModifyFaceGen周りのコード解析 
  • XBOX360コントローラのアナログスティック入力解析

余裕があればやりたい
  • プレイヤー以外のアクターにAddPerkできない理由の特定 (済)

挫折寸前
  • Eagle Eyeで、実際に画面を拡大しているコードの特定

たぶん忘れてるのがいっぱいあるはず。思い出したら追加。


(おまけ)
Papyrus関数のTESV.exeアドレス一覧 (1.9.32)
http://himika.com/stuff/PapyrusFunctionAddr_1_9_32.txt




(追記: 2013/04/12)
プレイヤー以外のNPCにPerkを追加できないのは、バグではなく完全に仕様でした。
プレイヤーにしかPerk Pointが存在しないのと同じ理由で、追加のPerkスロットが
プレイヤーにしか存在しませんでした。

既存のパークを保存してる場所に無理やり書き込むこともできそうだけど
たぶん、おかしなことになりそう(まだ試してない)

(追記: 2013/04/22)
箱コンのアナログスティックの傾きが取れたので、どう実装したらいいものか考え中。
できればSKSEチームにフィードバック送りたい。

2013年4月1日月曜日

へ スカイリム

英語版exeの「へ スカイリム」、簡単に直せそう。
CPU Disasm
Address   Hex dump          Command                                  Comments
0085FE4E  |.  50            PUSH EAX                                 ; /<%s> => [Arg2]
0085FE4F  |.  51            PUSH ECX                                 ; |<%s> => [1B17FF4] = "へ"
0085FE50  |.  68 AC4C0801   PUSH OFFSET 01084CAC                     ; |Format = "%s %s"
0085FE55  |.  8D5424 18     LEA EDX,[ESP+18]                         ; |
0085FE59  |.  68 04010000   PUSH 104                                 ; |Arg2 = 104
0085FE5E  |.  52            PUSH EDX                                 ; |Arg1 => OFFSET LOCAL.64
0085FE5F  |.  E8 3C04BCFF   CALL 004202A0                            ; \TESV.004202A0
PUSH EAXとPUSH ECXの順番を入れ替えるだけの簡単な作業です。

ためしに修正パッチつくってみようと思うんだけど、
→ 作りました http://skup.dip.jp/up/up04444.7z
へ スカイリムの他に、日本語特有の問題ってあったかなぁ。
セーブファイル名の日本語が空白になるのしか思いつかない。


2013年3月30日土曜日

メモ書き - TESObjectREFR::IsPlayable


TESV.exeをボーっと見てたら、こんなコードがあった。

CPU Disasm
Address   Hex dump          Command                                  Comments
0047A5D2  |.  0FB641 12     |MOVZX EAX,BYTE PTR DS:[ECX+12]          ; Switch (cases 1F..2A, 4 exits)
0047A5D6  |.  83E8 1F       |SUB EAX,1F
0047A5D9  |.  74 33         |JZ SHORT 0047A60E
0047A5DB  |.  83E8 0A       |SUB EAX,0A
0047A5DE  |.  74 1E         |JZ SHORT 0047A5FE
0047A5E0  |.  83E8 01       |SUB EAX,1
0047A5E3  |.  74 0B         |JZ SHORT 0047A5F0
0047A5E5  |.  8B01          |MOV EAX,DWORD PTR DS:[ECX]              ; Default case of switch TESV.47A5D2
0047A5E7  |.  8B50 64       |MOV EDX,DWORD PTR DS:[EAX+64]
0047A5EA  |.  FFD2          |CALL EDX
0047A5EC  |.  84C0          |TEST AL,AL
0047A5EE  |.  EB 29         |JMP SHORT 0047A619
0047A5F0  |>  8A81 90000000 |MOV AL,BYTE PTR DS:[ECX+90]             ; Case 2A of switch TESV.47A5D2
0047A5F6  |.  D0E8          |SHR AL,1
0047A5F8  |.  F6D0          |NOT AL
0047A5FA  |.  A8 01         |TEST AL,01
0047A5FC  |.  EB 1B         |JMP SHORT 0047A619
0047A5FE  |>  8A89 F2000000 |MOV CL,BYTE PTR DS:[ECX+0F2]            ; Case 29 of switch TESV.47A5D2
0047A604  |.  C0E9 07       |SHR CL,7
0047A607  |.  F6D1          |NOT CL
0047A609  |.  F6C1 01       |TEST CL,01
0047A60C  |.  EB 0B         |JMP SHORT 0047A619
0047A60E  |>  8B91 84000000 |MOV EDX,DWORD PTR DS:[ECX+84]           ; Case 1F of switch TESV.47A5D2
0047A614  |.  D1EA          |SHR EDX,1
0047A616  |.  F6C2 01       |TEST DL,01
0047A619  |>  0F84 8A000000 |JZ 0047A6A9

分かりやすいようにC++で書くと、こんな感じ

TESForm* thisForm;
bool IsPlayable;
if (thisForm->formType == kFormType_Ammo)
{
    TESAmmo* ammo = (TESAmmo*)thisForm;
    IsPlayable = (ammo->settings.flags & 2) == 0;
}
else if (thisForm->formType == kFormType_Weapon)
{
    TESObjectWeap* weap = (TESObjectWEAP*)thisForm;
    IsPlayable = (weap->gameData.flags2 & weap->gameData.kFlags_NotPlayable) == 0;
}
else if (thisForm->formType == kFormType_Light)
{
    TESObjectLIGH* ligh = (TESObjectLIGH*)thisForm;
    IsPlayable = (ligh->unk78.unk0C & 2) != 0;
}
else
{
    IsPlayable = thisForm->GetFlag00020000();
}
これでやっと、bool TESObjectREFR::IsPlayable(void) が作れるんじゃないかな!!

2013年3月29日金曜日

LockOn 0.1 beta7

Nexusで公開中の Lock-On - adds a lock-on system を更新しました。

LockOn beta7 - Skyrim Nexus


更新点


  • マップマーカーをつけました。
  • ロックオン中のエフェクトを選択できるようにしました。
  • ロックオンできる距離を8192unitsまで伸ばせるようにしました。

なにこれ?


ターゲットをロックオンできるようにするMODです。
ロックオンした対象にカメラが追尾するようになります。

必要なもの


  • Skyrim - 1.8.151 または 1.9.32
  • SKSE - 1.6.3以降
  • SkyUI - 3.1以降 (Optional)
  • 酔い止め - (Optional)
SkyUIは無くても動きますが、設定が一切できなくなるので入れたほうが良いです。

操作方法


ロックオンしたい対象にクロスヘアを向けて、ロックオン・キーを押してください。
デフォルトのロックオン・キーは、左[SHIFT] です。

[ロックオン・キー]+[A] で、左のターゲットに切り替え
[ロックオン・キー]+[D] で、右のターゲットに切り替えができます。
ロックオンした状態で 再度 [ロックオン・キー] を押すと、ロックオンが解除されます。

[ロックオン・キー] の割り当てはMCMで変更できます。

自動ロックオン


誰にもロックオンしてない状態で誰かに殴られた/誰かを殴った場合は、自動でロックオンします。

オート・ロックオンの設定も、MCMで変更できます。

アドオン


追加アドオンを入れることで、機能を拡張できます。

追加アドオンの作り方

今後の予定


【済】 移動キーダブルタップで次のターゲット
【-】 多数の敵に囲まれてるときはオートターゲットしない
【済】 敵に発見された時にオートターゲット

ロックオンしてる敵のライフを、HUD上部にずっと表示させっぱなしにしたいんだけど
どうやってScaleformとやりとりしてるのか分からない。現在調査中。
GFXMovieView::Invoke とか GFXMovieView::GetVariable を監視してみたけど、ここじゃなかった。

2013年3月25日月曜日

Lock-On用アドオンのアイデアメモ

のんびり散歩アドオン

「ソリチュード行き」「リフテン行き」の透明なアクターを召喚して、追尾。
あとは目的地に着くまでのんびり眺めるだけのアドオン。(誰得? 主に自分得)

追尾は、ロックオンした状態で前進させれば可能。
ただし問題はロックオンのエフェクトをどうするか。

ロックオンの操作拡張系

↑↑ (↑ダブルタップ)でロックオン
↓↓ でロックオン解除
←← で、左のターゲットに切り替え
→→ で、右のターゲットに切り替え
ダブルタップ操作はTK Dodgeの操作とかぶるので、本体では搭載しなかった。
箱コンで遊んでいる人はダブルタップのほうが良いかも?

フォロワー補助

ターゲットした相手にヒールする魔法、ワード(魔法の盾)をかける魔法、みたいな
補助系魔法を充実させれば、フォロワー補助プレイが捗るかも。
(それってLock-Onじゃなくても出来るでしょう?というツッコミは置いておく)

2013年3月24日日曜日

Racial Compatibility Improved 1.6a

 [2013/03/24 追記] 
Racial Compatibility1-7や、RaceCompatibility for Dawnguardに上書きすると
クエストの一部が欠損する問題があるようです。
(欠損が発生すると、スクリプトが競合している旨のメッセージが表示されるようになります)
欠損が発生した場合に、自動で修復するスクリプトを作りましたので
競合メッセージが表示されるようになった方は、このpexファイルを入れてみてください。
http://www.himika.com/stuff/YARC_InitQuestScript.zip

修復に成功すると、競合メッセージは表示されなくなります。
その後、pexファイルは削除してかまいません。

なお、この問題はバージョン1.6aで対策済みです。


 [2013/03/19 追記] 
NEXUSに1.6正式版をアップロードしました。


 [2013/03/06 追記] 
Character Making Extender 3.9bに対応し、β2になりました。




ダウンロードはこちらから
http://skyrim.nexusmods.com/mods/24898/


◯必要要件

Skyrim 1.8 以降

◯更新点

  • Character Making Extender 3.9bに対応しました。
  • 英語のReadmeがカタコトすぎてあまりに酷いので、日本語のReadmeを入れました。
  • ShowRaceMenu後にバンパイアが解除されておかしくなる問題が修正されます。 (SKSE 1.6.6以降が入っているときのみ)

◯このMODは何?

Expiredさん作のRacial Compatibilityの改良バージョンです。
いままでRacial Compatibilityと同時に使うことができなかったMODと、共存できるようになります。
(Dawnguard、UFO、Better Vampire、Vampiric Thirstなど)

(例)
追加種族 + UFO
追加種族 + Better Vampires (+ UFO)
追加種族 + Vampiric Thirst (+ UFO)
追加種族 + Dawnguard (+ UFO)
追加種族 + Dawnguard + Better Vampire Dawnguard Compatible (+ UFO)
追加種族 + Dawnguard + Vampiric Thirst Dawnguard Edition (+ UFO)


◯インストール方法

アーカイブのDataフォルダの中身を skyrim\Data フォルダに上書きしてください。

(旧Racial Compatibilityを上書きする場合)
旧Racial Compatibilityで使っていた以下の3つのPEXスクリプトは、もはや使いません。
ファイルサイズを確認して、合致する場合のみ削除してください。
  Data\Scripts\CompanionsHouseKeepingScript.pex (28,504バイト)  CRC32: BB8F5900
  Data\Scripts\PlayerVampireQuestScript.pex     (12,622バイト)  CRC32: A7DA00B5
  Data\Scripts\PlayerWerewolfChangeScript.pex   (12,475バイト)  CRC32: A7BF0A01
ファイルサイズが違う場合は、他のMODが使用してる可能性が高いので削除しないでください。

良く分からない場合は、とりあえず上の3つのスクリプトを削除して
Better Vampiresなどの競合MODを全部入れなおせば問題ないと思います。


◯似たようなMOD(RaceCompatibility for Dawnguard)との違い

ぶっちゃけ、どっちも同じなので好きな方を選んで良いです。
コンセプトが違うだけです。

RaceCompatibility for Dawnguardは
「競合の原因になっているスクリプトを、競合MODとRaceCompatibility双方が動くよう、書き換えよう」
というコンセプトです。
オプションでUFOやBetter Vampire用に書き換えたスクリプトを追加することで対応します。
(長所) ターゲットを絞ってきっちり書き換えているので、対応しているMODは間違いなく完璧に動きます。
(短所) 反面、対応していないMODは動きません。対応MODもバージョンアップで動かなくなる可能性があります。

 私の改良バージョンは
「競合の原因になっているスクリプトをつかわないことで、競合の原因自体をなくそう」
というコンセプトです。
(長所) ほとんどの競合MODが動くはずです。
将来競合するかもしれない未知のMODにも強いとおもいます。
(短所) ただ、若干トリッキーな方法を使って競合スクリプトを排除しているため
MODによっては競合してしまうものもあるかもしれません。

RaceCompatibility for Dawnguardで正式に対応しているMODを使うのでしたら、きっちりスクリプト修正をしてあるぶん、for Dawnguardを使ったほうが安全確実です。
Dawnguardを入れていない人や、他にも競合しそうなMODを入れている人は
拙作の改良バージョンを使うと良いかと思います。

2013年3月19日火曜日

LockOn - beta6

2013/03/23追記:
beta6になりました。このバージョンからNEXUSで公開することにしました。

なにこれ?


ターゲットをロックオンできるようにするMODです。
ロックオンした対象にカメラが追尾するようになります。

必要なもの


  • Skyrim - 1.8.151 または 1.9.32
  • SKSE - 1.6.3以降
  • SkyUI - 3.1以降 (Optional)
  • 酔い止め - (Optional)
SkyUIは無くても動きますが、設定が一切できなくなるので入れたほうが良いです。

操作方法


ロックオンしたい対象にクロスヘアを向けて、ロックオン・キーを押してください。
デフォルトのロックオン・キーは、左[SHIFT] です。

[ロックオン・キー]+[A] で、左のターゲットに切り替え
[ロックオン・キー]+[D] で、右のターゲットに切り替えができます。
ロックオンした状態で 再度 [ロックオン・キー] を押すと、ロックオンが解除されます。

[ロックオン・キー] の割り当てはMCMで変更できます。

自動ロックオン


誰にもロックオンしてない状態で誰かに殴られた/誰かを殴った場合は、自動でロックオンします。

オート・ロックオンの設定も、MCMで変更できます。

アドオン


追加アドオンを入れることで、機能を拡張できます。

追加アドオンの作り方

2013年2月22日金曜日

Smile 0.2

某所に張る予定ですが 最近ブログも更新してないので、先にこちらに。

Smile 0.2β
http://himika.com/stuff/Smile_02.7z

Papyrusで表情や口の形などをこまかく設定できるようにするMODです。
内部でmfgのコードを直接叩いています。

「表情を設定できる仕組み」を提供するだけのMODなので、単体では動きません。
詳しい使い方はサンプルを同梱していますので、そちらを参考にしてください。


必要要件

  • Skyrim 1.8.151
  • SKSE 1.6.3以降


サンプルプラグイン SMILE_sample.esp の使い方

ShowRaceMenuで、プレイヤーの表情を変更できます。
  • 0キー:   すべての表情をリセット
  • 1~8キー: 表情を変更
  • Uキー:   口を「う」の形にする。変化は4段階
  • Iキー:    口を「い」の形にする。変化は4段階
  • Oキー:   口を「お」の形にする。変化は4段階
  • Pキー:   口を「あ」の形にする。変化は4段階
  • Kキー:   右目をつぶる。4段階
  • Lキー:   左目をつぶる。4段階
また、ゲーム開始時に「Paste Facial Expression」スペルを覚えます。
自分の表情を他人に貼り付ける魔法です。効果時間は30秒。


SmileManagerスクリプトの使い方

Smile.espが有効になっていれば、他のespからもSmileManagerを使って表情制御ができます。
(使用例)
    ; まず SmileManager.Attach() 関数で、表情を変更したいアクターにアタッチします。
    SmileAlias Smiler = SmileManager.Attach( Game.GetPlayer() )
    
    ; Expression(表情)の設定
    Smiler.MoodHappy = 0.5  ; Mood Happy 50%
    Smiler.MoodSad   = 0.5  ; Mood Sad 50%
    
    ; Phoneme(音韻)の設定
    Smiler.BigAah = 1.0     ; 口を「BigAah」の形にする。値は 0.0~1.0
    Smiler.OohQ = 1.0       ; 口を「OohQ」の形にする。値は同上
    
    ; Modifierの設定
    Smiler.BlinkLeft = 1.0  ; 左目をつぶる。値は 0.0~1.0
    Smiler.LookRight = 1.0  ; 右を向く。値は同上
    
    ; 表情の設定が終わったら、Applyする。
    Smiler.Apply(0.5)       ; 表情を適応する。0.5秒かけて変形する。
    
    Smiler.Detach()         ; 使い終わったら必ずデタッチする。


旧知の不具合

表情変更を行うと、全アクターのまばたき・視線移動が止まってしまいます。
元に戻す場合はコンソールから「mfg reset」を行なってください。
(いずれ修正する予定です