バグ情報 - (2012/10/08 (月) 12:10:51) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*バグ・仕様情報
#contents
**ゲーム編
***ゲーム起動直後に両手武器スキルが初期値に戻ってしまう。
ゲーム起動直後のロードは両手武器スキルが初期値(15)になります。
コンソール・メニュー・セルロード等をすると元に戻るので通常プレイには差し支えないんですが、
スクリプトでロード時に両手武器のスキルを参照するときに大変困ります。
スキル参照する前に以下のような処理を加えます。
Actor player = Game.GetPlayer()
player.ModAV("TwoHanded",1)
player.ModAV("TwoHanded",-1)
値が変動すると元に戻る性質を利用して直します。
**Papyrus編
***OnLoad() OnInit()のバグ(仕様?)
OnLoadはそのオブジェクトやクエストが読まれた時のイベント判定なんですが、何故かうまく機能しません。
OnInitもオブジェクトにつけるタイプは機能しません。
Oninitはクエストにつける場合はクエストスタート時の初回だけ機能します。
ゲームロード時に駆動するイベントが使いたい場合はSkyrim1.6以降に追加されたOnPlayerLoadGame()を使ってください。
***HasKeyword()のバグ(仕様?)
OnLoad OnInitとは逆に、HasKeyword()は、オブジェクトについている場合にしか機能しません。
NordRace.HasKeyword(ActorTypeNPC) ; ← 機能しません
NordRaceActor.HasKeyword(ActorTypeNPC) ; ← 機能します
***Playidle()とSendAnimationEvent()
どちらもモーションを呼ぶメソッドでplayidleはAnimationsから登録されたのを呼び出しますが、SendAnimationEvent()はAnim Eventsの中から直接呼び出します。
隠密のPerkで習得できるサイレントロールを例にすると、スニーク中に前方向+ダッシュキーで前転できます。
Conditionsの条件判定にかかわらず、両方のメソッドで呼び出す限りはスニーク中にしか使えません。
また、魔法や杖を装備している時に使えません。パークで習得する方は魔法や杖を装備していても使えます。
モーションが発動する何らかの条件はモーションそのものやモーションブレンド制御のBehaviorファイルではなく、内部的に定義されていると考えられます。
またモーションには優先度の設定があるみたいです。
attackStop(攻撃停止)、staggerStart(怯みモーション)みたいなのは優先度高いようです。
例えば攻撃中にモーションを割り込みたい場合はattackStopモーションで攻撃を止め、割り込みのモーションを再生します。
これらを使用することによりある程度のモーション制限は突破できます。
<p><br />
バグ情報に当たるかどうかわかりませんが、私の知ってる範囲で説明。<br /><br />
CK上でpapyrus scriptをedit、compileするのはあまりオススメできません。<br />
なぜかというと、残念ながら今のところCKのPapyrusEditor周りは、バグが色々あるようです。<br /><br />
特に私がよく経験したものだと、Propertyのアタッチまわりがよくバグを起こしました。<br />
(外した覚えも無いのに勝手に外れていたり・・・・sourceから勝手に削除されていたり・・・・)<br /><br />
一応、ちゃんと手順を踏めば、CKだけでもPapyrusをバグなくEdit、Compileできることは出来るのですが<br />
手順がめんどくさいので、私はとあるブログの記事を参考にして、フリーの高機能editorでEdit、compileしています。<br />
(ブログの方の了承を得ていないのと、このwikiでどの程度のリンクまでしていいものか[直接リンクじゃないにしても]<br />
ちょっとわかりかねるので、リンクは張りませんが適当にググればでてくると思います。)<br /><br />
このバグは、フラグメントも当然同様なのが困りものです。<br /><br />
一応私の取っている方法としては、<br /><br />
フラグメントにしろ、Papyrusにしろ、<br />
CKのEditor上では、<br /><br />
; [←セミコロンです。Papyrusでは、これ以降改行するまで、全ての文字はコメントとして扱われます。]<br /><br />
のみ記入して、ファイルをセーブ、そしてすぐCK上でそのファイルをRenameしちゃいます。<br />
(Renameは必須ではないですが、自分で作成するScriptはわかりやすい名前にRenameするのがオススメです。)<br />
(Renameしても元のSourceファイルは残っている[もしかしたら、pexファイルも残っちゃってるかも]ので、そっちは削除しておくとゴミファイルがなくなります。)<br /><br />
その後は、Script自体のEdit、compileはエディターで行う。<br /><br />
ただ忘れてはいけないのは、CK側とのPropertyの連携ですね。<br />
ScriptにProperty構文を記入するだけでは、CK側はそのPropertyが何のPropertyか理解できていません。<br />
なので、最後に忘れずに、CK側でPropertyだけFillしてあげる必要があります。<br /><br />
本当に初心者さんがつまずきかねない、バグなので一応記しておく次第です。</p>
表示オプション
横に並べて表示:
変化行の前後のみ表示: