1read 100read
2012年3月PCゲーム208: OBLIVION MOD作成支援/相談スレPart9 (1001) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【SC2】StarCraft2 Part83 (151)
風来のシレン外伝 女剣士アスカ 初心者専用スレ 101F (831)
AOE,AOC,AOE3初心者質問スレッドpart29 (409)
◆MUGENやろうぜpart69◆ (380)
Minecraft Texture・MOD総合.0.3.7 (1001)
AOE,AOC,AOE3初心者質問スレッドpart29 (409)

OBLIVION MOD作成支援/相談スレPart9


1 :
OblivionのMOD作成におけるスクリプトやモデリングの相談や質問、
自己解決の独り言などを書き込んでいくスレです。
スレ人口が少ないため、やりとりは遅くなりがちです。
返答がなかなか無くてもくよくよしないでください。
応える方は既出or初歩的に過ぎると思われる相談や質問でも
MOD作成者の裾野を広げるつもりで鷹揚にお願い致します。
前スレ OBLIVION MOD作成支援/相談スレPart8
http://yuzuru.2ch.net/test/read.cgi/game/1297684804/
■Construction Set 日本語 help
http://shy.jsphr.net/upload/img/ups05912.zip

2 :
前スレがいつの間にか埋まってたので。
このスレでSkyrimまで持つかなー。

3 :
埋まったっていうかDAT落ちしたな
それはともかく>>1

4 :
>>1さんお疲れ様です
このたびCSの使い方がそれなりに分かってきた?ので
自分用のバランシングmodを作ろうと思います
・特定効果の魔法の自作不可
・特定魔法効果の消滅&自作不可
・羽毛化エンチャント(SM)の落下ダメージ無効の条件を変更
といったところを考えているのですが……

5 :
>>4
魔法自作不可とかは普通にMagic Effectで簡単にできるよ
落下ダメージのほうはスクリプトだろうね。すごく難しそうに見える。ってかできるんだろうか?

6 :
ResetFallDamageTimerを常時走らせておけばシェオ爺のおしおきだろうと、余裕の生還

7 :
派閥ごとPCと敵対させたい場合どうやったらいいんでしょうか?
STARTCOMBATだと一人しか無理ですよね

8 :
Playerが所属してるFactionと友好度をめちゃくちゃ下げればいい。
そうすればFaction毎の喧嘩になる。

9 :
>>8
おぉすばやい回答ありがとうございます
やってみます

10 :
クリーチャー作成用に新しくskeleton.nifを作成、もしくは改変をしたいんだが、解説しているサイトや過去レスであればそれを教えてもらえないだろうか

11 :
>>10
とりあえず基本的な大筋は本家CSWikiで「Creature」を検索で。
断片的な細かい話ならここの過去スレにも多分色々あるとは思いますけど、
それぞれ状況が特殊だったりでどれを紹介していいかちょっと分からないです。
どのぐらいの背景知識があってどんなモノを目的にしてるかを教えてもらえると
多分話が早い気が。

12 :
>>6
あれはgodモードでも死ぬ。
たぶんscriptでkillしてる。

13 :
>>11
レスthx
【目的】新規クリーチャー、例えば蛇のような簡単なものから人馬一体のデュラハンのようなもののためのskeleton.nifの作成
【知識】新規武器および防具の作成、新規モーションの作成等の経験有 なのでBlenderはひと通り使用可能
やりたいことと知識としてはこんな感じ
バニラのskeleton.nifを使いまわせればそれに越したことはないんだけど
CS wikiの英文をざっと読んだけど、nifskopeで子のボーンを追加していくのかな?
それだと追加のExtraDataをどうやって追加していけばいいのかがよくわからん状態
Blenderでも出来るなら、慣れ親しんでるツールなので自分としてはやりやすいところ
こんな感じだけど、レスもらえると有り難い

14 :
>>13
状況大体了解です。
まず、skeleton.nifはBlenderだけでもNifSkopeだけでも作れます。併せ技でも。
NifSkopeでしか指定出来ない細部のパラメータとかはありますが。
メッシュが既にあってSkeletonだけを新規に作るのならそのCSWiki記事の
「Adding the Armature (skeleton)」、「Rigging」、「Creating the skeleton.nif」
辺りを。っても記事の大部分ですけど。
手順の概要的にはBlenderでまずそのメッシュにArmatureを適切に仕込む→
必要なArmatureの個所にコリジョン用オブジェを作ってParentBone指定→
コリジョン同士にRigidBodyJointのConstraintを付けて→その他必要なオブジェを
追加して→メッシュを消して所定の指定でExport、みたいなかんじに。
手順自体はCSWikiのその記事を元にキーワードや細部をBlenderサイトなんかで
個別に調べる、みたいにするといいのかもです。
Blender上での概念/機能/名称とnifでのそれは微妙に違ってたりするのでその辺も。
個別の手順的な話ではなくて、Skeletonの基本的な仕組みとか全体の概念みたいな
話はそれはそれで長くなりそうなので必要でしたらまた。

15 :
続き)
で、初めてでいきなりゼロからSkeletonを作るのはやはり大変かもなので、
一度有り物の適当なskeleton.nifをBlenderでImport→Exportして再度ゲームで動作
させてみたりして、Blender上で何がどう見えてnifにどう出力されれば正解なのか、
Exportの制限等の確認をまず最初にしといた方がいいかもです。
その他、コリジョンやHavokのConstraint関係の情報はこの辺を。
http://niftools.sourceforge.net/wiki/Blender/Collision
http://niftools.sourceforge.net/wiki/Oblivion/Oblivion_Bhk_Constraints
ついでに以前このスレPart5/112でUPした剣型クリーチャー例です。ご参考にでも。
そのskeleton.nifをBlenderにImport/Exportする話は124以降に。
http://shy.jsphr.net/upload/img/ups29174.jpg SS
http://shy.jsphr.net/upload/img/ups06442.zip
http://shy.jsphr.net/upload/img/ups06646.jpg SkeletonのImport/Export指定例

16 :
少々伺いたいのですが、
shortやfloat値をそのままゲーム内に(たとえばMessageBoxみたいな感じで)出力する方法ってありますか?
何がしたいかというと、
set A to 100
を代入しておき、
ゲーム内で A の100という数字をなんらかの形で表示したいのですが
よろしくおねがいします

17 :
>>16
float A
set A to 100
print tostring A
のこと?
左上にってんなら
message "%3.0f" , A
こんな感じだった気がする
てかTESCS WIKI見ればいいよ

18 :
OBSEでMassageboxExを使えばいい

19 :
>>17>>18
レスありがとうございます
.>MessageBoxEx
OBSEにあったのですね。
ぱっとwikiでみてきたところまさにピタリでした。
Messageでも確かに可能ですがこちらのほうが目的にぴったりですので、
こちらで遊ばせていただこうとおもいます。
ありがとうございました。

20 :
>>14-15
丁寧にありがとう
参考にしながら地道にやってみるよ
ちなみに、特にてこずったり面倒だった部分がもしあったら簡単に教えてもらえるだろうか
何度も聞いてしまって申し訳ない

21 :
>>20
うーん、どうなんでしょうね。
Blenderの操作がOKなら特に作業上の問題は無い気も。
Armatureを仕込んだりコリジョンオブジェやConstraint指定なんかは特にOb専用の
機能ではなくてBlenderに元からある機能操作の話ですし。
Blender独自の分かり難さはあるとは思いますが。
NifSkopeでHavok等の細かなパラメータ類を追い込んだりするならそれなりに時間は
かかるかもです。
それ以外で何か問題が起きるとしたら、単に手順的な凡ミスか、または概念的に何かを
取り違えて全く見当違いな事をやっていた、みたいな事な気も。
とりあえずはやってみるのが早いと思います。
あと、作ったSkeletonの動作の確認はkfを全種類作らなくてもIdle.kfだけあれば
OKです。

22 :
>>21
何度もありがとう
頑張ってみるよ
問題は時間か…

23 :
あるmod(仮にAと呼びます)に特定の状況でランダムに出てくる敵Bを倒した時
イベントが発生するクエストmodを作ろうとしました
ところがAは環境と好みに応じてA1.esp〜A4.espの中からひとつを選んで導入するタイプのmodでした
(共通のesmは無し、敵のIDは共通だがインベントリは微妙に違うようです)
こういう場合マスター指定のしようがない感じなのですがどうしたものでしょうか
やはり討伐対象の敵のspawnから自分で管理するしかないのでしょうか

24 :
>>23
敵Bの「Name」はユニークでA1〜A4で同じなんですかね。
もしそうならOBSEのEventHandlerのOnDeathで名前で判定、みたいな方法も。

25 :
エスパーの上におせっかいスマソ。
>>23
その元MODってdungeonbossやStrBanditみたいな
ランダムNPC追加MOD?
だとしたら普通にMODのほうで
敵を用意して湧かせたほうがいいと思う。
居場所はおろか今湧いてるかどうか
わからないような相手を討伐しにいくのはちとしんどい。
あるいは候補者全員を対象にするほうがいいかなと思う。

26 :
・espの名前が同じ
・どのespでもIDは変わらない
ならば何も考えることはないんじゃない?
espの名前が違うなら、それは元の数だけ作るしかないな…。
Bash前提ならばmerge専用プラグインでどうにかなるかもしれないが詳しくは知らない。

27 :
返答ありがとうございます
プログラム的にもゲーム的にも確かに茨の道っぽいですね
おとなしくmodの敵を出すようにしたいと思います
顔は使いまわしでいいですよね

28 :
>>27
それはGetFormFromModでそのFormID引っ張ってくれば、マスター指定しなくても普通に出来ると思いますよ。

29 :
>>23
もう諦めちゃってるかもしれないけど一応。
OBSE使うなら、倒したMobのrefからGetSourceModIndex、GetNthModNameで
そのFormが所属するModのファイル名(A1.espとか)を取得、sv_compareなりsv_findなりで判定って
出来るので、プログラム的には>>23は別段茨の道ってわけではないです
多分コード自体は数行ぐらいしかかからない

30 :
もういいんですかね。
>>23の文面を見る限りでは目的はその敵BのゲームでのIDを知る事ではなく、
多分敵Bを倒したタイミングを知る事な気がしたのですが。
いずれにしろその条件だと概念や使う関数が少しややこしくなりそうなので確かに
取っ付き難いかもです。
でも関係する関数は用意されてるので特に茨の道ではないですし、スクリプト自体
は恐らく少量で済むと思います。
という事で気が変わりましたらまた。

31 :
「ULC」を入れているのですが
CSで家を配置してゲームをすると木などが家を突き抜けてしまいます
MODの順番も「ULC」より下にしています
「ULC」もCSで開いてフィールド上の邪魔になる木を削除してその上に家を配置したのですが駄目でした・・・
なんか良い方法は無いでしょうか?

32 :
自分用のMMMとでも言うべきものを作ろうと思っているのですが
既存のダンジョンに一括して湧きポイントを増やすような方法はないものでしょうか
ダンジョンひとつひとつ開いて敵を追加していくのが非常に大変なのですが……

33 :
>>32
湧きポイントを増やすじゃなくて一度に湧く数を増やすじゃ駄目かな?
それなら特定のLeveledCreatureを増やせばなんとかなるんだけど・・・

34 :
というか湧きポイントを増やす人は少ないので
結構期待してる。完成したらうpしてほしいな

35 :
湧きポイントを万遍なく増やすのは面倒だからね……
俺も>>32に期待してる

36 :
>>31
ULC持ってことはマスターファイルとしてULCがあるってことでいいんですよね?
その場合削除してもULC自体にその木の情報があるので無理です。
で、修正方法はどれか。
・ULC自体からその木をなくす。
・別の場所に移動させる。じゃまにならない位置とか。あるいははるか地中(Y座標を-10000とか)に埋めてしまうのもあり
あと試してはいませんがその木(オブジェクト)をDisableでも行けるかもしれません。

37 :
いっそ勝手に敵を配置するscriptを考えたほうがいいかもな。
地形やレベルドリストを参照する事はできなさそうだから相当泥臭い仕様になりそうだがw

38 :
それって充分いけるんじゃないですかね。
既に配置してあるLeveledCreatureを知る事は自体は出来そうな気が。
でも同じListで再度生成すると同じ顔の敵が増殖するかも。
なので自前で各系統のそれっぽいLeveledListを用意、敵アクターのFactionかなんかを
見て同系列のListを選んでそこから生成、みたいにしたり。
アクターを出すのはPlaceAtMeで。
特に地形の事は考えずに元アクターの側なり適当に距離を離すなりして出現させれば
そこに地面オブジェが無くてもシステムが自動的に近場のPathGrid上に移動してくれる
と思います。多分。
実際にどんなかんじになるかはやってみないとなんともですが。

39 :
Staff以外の武器にLuck依存のクリティカル効果を、
ScriptEffectのMagicScriptで実装中です。
DLCのメエルーンズレイザーについていたScriptをヒント•骨子に、
•対象はNPCもしくはCreatureか
•死亡していないか
という判定を追加し、成功時には
•MagicEffectShaderを相手に載せる
•SpellSoundを鳴らす
という処理を追加し、ここまでは期待通り動作はしています。
目下の望みは、
•クリティカル効果をSneakeAttack成功時のダメージボーナス効果にしたい
•SpellSoundをSoulTrapのものにしたい、という点です。
そこでお尋ねしたいのは、
•一体どこに「Sneakスキルによって変化するダメージ増加効果」がVanillaで実装されているのか
•「どうやってその機能を呼び出すのか」
•SoulTrapのSpellSoundはどこで定義されているのか
(見当たらないのでMysticismのそれにしています)
•矢が跳ね返るような構造物などに当たった際の火花(?)Effectも載せられるか
という点です。
VanillaのSneakAttack処理に拘るのは、
GameSettingsからSneakAttackの倍率を変更している方もいらっしゃるはずで、
かつ最近はDemolishSystemさんが攻防時に様々な
独自ダメージ計算を行っていらっしゃるので、
そうした環境下でも安定して効果を発揮し、
何より「元からある機能を用いてシンプルに作りたい」という意図があります。
現状はメエルーンズレイザーを骨子に作っていますが、
上記目的が果たせるならば、抜本的に作り変える事は全くこだわりません。
ぜひご意見、ご提案、よろしくお願いします。

40 :
>>39
DLCのメエルーンズレイザーというのが分からないので、
答えられる範囲だけで
>一体どこに「Sneakスキルによって変化するダメージ増加効果」がVanillaで実装されているのか
これは「Game Setting」にあります。
ちなみにこれは、Sneakのスキル値によって変化するものではなく、Sneakの熟練度がNoviceであるかMasterであるかの倍率になっているのに注意してください。
定義名はここを参照してください
ttp://cs.elderscrolls.com/constwiki/index.php/FPerkSneakAttackXXMult
>「どうやってその機能を呼び出すのか」
スクリプト上でしたら、OBSEのGetGameSettingで呼び出せます。
>SoulTrapのSpellSoundはどこで定義されているのか(見当たらないのでMysticismのそれにしています)
「Magic Effect」の「Soul Trap(EditorIDはSTRP)」の項目を見ると、サウンドを定義する項目があります。
ちなみに、SoulTrapの効果音はMysticismで合ってると思います。ただ、Cast・Travel・Hitと3種類のサウンドがあるので、どれを指しているのかわからないのでお任せします。
あとは分かりません、ごめんなさい。

41 :
>>40
早速ありがとうございます。
>DLCのメエルーンズレイザーというのが分からないので、
仰る通りですね、長くなってしまったので省いてしまいました。
[Magic Effect Script]
short sRandom
float fLuck
Ref rTgt
begin ScriptEffectStart
set rTgt to GetSelf
 if ( rTgt.IsActor == 1 ) || ( rTgt.GetIsCreature == 1 )
  if ( rTgt.GetDead == 0 )
   if GetIsReference player == 0 && GetInFaction PlayerFaction == 0
    set sRandom to getRandomPercent
    set fLuck to player.getAV Luck
    set fLuck to fLuck * 0.35
   if fLuck < 1
    set fLuck to 1
   endif
   if sRandom <= fLuck
    PlaySound SPLMysticismHit
    rTgt.PlayMagicShaderVisuals effectSoulTrap 5
    rTgt.PlayMagicEffectVisuals STRP 5
    rTgt.Kill
    Message "会心の一撃!相手を即死させた。"
   endif(省略)
end
・Sneak熟練度によって変化するダメージ増加効果
GetGameSettingで取得した値を元に、やはりScript上で改めてダメージ量計算するしかないのでしょうか。
・「Magic Effect」の「Soul Trap(EditorIDはSTRP)」
すみません、これは後続のModがSoulTrapを書き換えて(Mysticism以外)いたようです、凡ミスでした。

42 :
>>41
ダメージの決定は[武器の攻撃力×Fagitue×敵のArmorRating…等]という風になっているので、
これをScriptで反映させようとすると、やはりその値を読み込んで、基本ダメージ値を算出して、そこからSneak Attackの倍率を乗算する方法しかないのではないかと思います。

43 :
>>42
度々どうもです。
Killみたいな一発Functionとしてあれば〜、というのは甘い考えでしたね。
Sneak Attackの倍率効果は、その方式でいっちょこさえてみます。

44 :
アミュレットや指輪の装備数制限を解除するやつがあるじゃないですか。
それを重なってもいいから表示されるようになんとかならないもんですかね?
装備スロットを増やすのはたぶん無理なので表示さえしてくれれば・・・
帽子かぶって眼鏡かけてピアスつけてアミュレットかけてマントしてベルトつけ
て・・・なんてことをやってみたいな〜と。現状だと尻尾かアミュレットの2箇所
で我慢するか、全部nifでくっつけてまとめるかしかありませんがそれだと組み
合わせが自由に出来ないし・・・
今まで不可能だったものが続々とクリアーされてるので、自分では多分無理
な状況に作ってくれるかもしれない期待を込めて・・・

45 :
>>43
少し細かい話ですが。
EnchantのScriptはダメージが適用された後に起動されるので、Sneakクリティカルの
倍率をそこで変更してもその回の攻撃には反映されないです。
でも倍率を変更した後に戻さないなら次回攻撃に反映されるので、最初の一回だけ
何も変化が無くて次回以降に適用が次々持ち越され、結局正常に動作している
のと同じ事になるかもですが。
ランダムな効果ならそれで特に問題無いと思います。
でもその攻撃回にその変更の適用が厳密に必要な場合は恐らく別な方法が必要に。

46 :
質問させてください
ボーン一体型で全身装備作ったのですがファーストパーソンで手が見えません
どうやったら見えるようになるかわかりますか?

47 :
マテリアルのvalue名がskin以外でNiTriShapeとかNiTriStripsのvalue名が〜bodyになてると非表示になったような気がする(upperbodyとかね)

48 :
>>47
ありがとうございます
うーん名前変えてみても表示されない…

49 :
>>48
一/三人称の表示/非表示だけならNiTriStripes/Shape→Nameの先頭に「UpperBody」の
文字列があるかどうかで決定されますけど。
どんなメッシュの分割構成でどの部分をなんて名前にしたんですか?

50 :
>>49
返信有難うございます
上下手足頭全部入ったボーンで
NiTriStripsはupperbodyとかじゃない適当な名前にしてあります
CSカバー部位はHead upperbody lowerbody hand footになってます

51 :
>>50
CSでの装着部位指定に「Head」が含まれているからかも。
一度Headの指定だけをはずして確認を。

52 :
>>51
おぉ出ました
頭含めると隠れちゃうんですね…

53 :
>>45
43です、確認遅れてお返事もせず、すみませんでした。
Enchantの効果適用順序の件、ご指摘ありがとうございました。
これは全くもって認知していませんでした。
重箱の隅を突つくのが好きなので(?)、これは視野に入れて練ってみますね。
どうもありがとうございました。

54 :
闇鴉やダスクファングみたいに斬ると成長する刀系で、ゼノブレイドのモナドを作りたいと思っています。
刀の見た目は魔法で切り替えられる感じで、つまりモナドUまで成長してるならいつでもTに戻せるように。
そんでそのとき装備してるモナドによってエンチャや追加される魔法が変わるっていう風な…
もっとできるなら装備してるモナドごとにパワーアタックのモーションが変わるとかもできたらいい
なーと考えていますが初心者にはさすがに無理ですかね。

55 :
最初はみな初心者なんだから
根気よく頑張って人のスクリプトを真似ていけば、いずれはできるようになるよ
ただ最後のパワーアタックのみ、ゲームの仕様で
あまり自由に変更できない
MAOやCCAO等が変更を実装していると思うけれど、
パワーアタック以外のモーションも一括して別フォルダから参照するようになって
作る側にとっても、使う側にとってもかなりハードルは高いはず
装備だけで使うespの他に
CCAOアドオン的なespのverも出せば比較的簡単にいけるかもしれない
その辺がOKかは作者様に相談してみないとダメだろうけれど
もしくはdestructionAttakや
nkiriのサマーソルトのように、専用アクションによる
専用モーションの技をつけるか、かな

56 :
やっぱり装備中だけのモーション変更は難しいんですね
skyrim日本語modが出る頃までに基本的な使い方覚えられればいいなあ
>>55さん、ありがとうございます

57 :
このスレに来る人には基本、自分の発言など釈迦に説法なんでナンですが
本当の初心者さんで一助になるなら
やり方は色々あると思うけれど、自分的な一例
weapon、エンチャント、spellなどをいじることになるけれど
基本的にそれらほぼ全部にスクリプトを持たせることになるかと
・武器のスクリプトのOnADDかOnEquipブロックで
○○.addspellNSで必要な魔法を付与
○○をplayerにすればplayerのみ、
魔法に他の援護効果も付与して、スクリプトも
「ref me
set me to getcontainer」
で書いていけばNPCも魔法を使ってくれるかもしれない
・武器変更spellを使用した際には魔法のスクリプト効果で
set.enchantmentし、エンチャントを変更し
更に技魔法を付与したり、できるならモーションを変更したりする
*もしその武器が、初期状態ではプレイヤーが自由にエンチャントできる状態で
もしその情報を保存しておかないといけないなら、また別に処理が必要
・武器本体については
SetModelPath "フォルダ\ファイル名" 武器名
で武器の見た目を変える
*もしくはエンチャントごと、別の武器を使ってしまう手もある
元の武器を別のコンテナに移すなどし
代わりの武器をadditemns、Equipitemnsして装備させる
ただし既に武器を構えていた場合には、装備付け替えにより再抜刀モーションが発生する

58 :
とはいえ見た目を変える場合でも
ダミーアイテムをadd、equip、removeする等しないと
ゲーム中では一度装備を変更しないと見た目は変わらないはず
*obse19〜のupdate3Dを使えば平気かも?
必要なら持ち主にトークンアイテムを与えたり、武器を元に戻す魔法を加える
・ここから他の魔法を使うまで制限無しで変化したままでもいいけれど一例としては
トークンアイテムのスクリプトで
OnGamemodeブロックtimerの時間経過で終了処理
(もしくはhasmagiceffect判定や、魔法のScriptEffectFinishブロックでもいいかもしれない)
・武器のOnUnequipブロック等でremovespellするならしておく
・武器の見た目を複数段階に変化させるのは
持ち主をダミーファクションに入れて、そのランクなどで管理するなど
rank<=0のときに使ったらrankを2にして、見た目を2段階目
2の時に使ったらrankを3にし、見た目も3段階目
3のときに使ったらrankを-1して、見た目も初期に戻る、など
*SetModelPathだと、ゲームを再起動したときに見た目が元に戻ってしまって
見た目とプレイヤーランクの間にずれが出てしまうやもしれないので
初期化処理も気にしないと駄目かもしれない
Onload時にrankを見て自動的にpath変更すれば大丈夫かな?

59 :
>>56氏の希望とは少しずれるけれど
自分用に作った魔法があったので、その流れを書いてみますた
構文自体は、完全に自分環境用に組み込んでて、単体で取り出すのが厄介なのと
人様のリソース使いまくりのため、公開はしていなくて
動画紹介も自粛しているので……
とはいえ、これぐらいなら慣れればすぐだと思うし
モデルさえ作れる方なら、もう勝ったも同然かと
自分はそっちの技術がなくて、人様のリソースを利用させていただくだけなので
あとはエロ関係になるけれど段階的に見た目が変化する装備な
curesedarmorやBU系のスクリプトはとても参考になるかと
自分も大いに勉強させてもらったので
頑張って下さい

60 :
>>56
面倒なのはパワーアタックだけで他のモーションはそこまで大変じゃないです
パワーアタックは出来なくないけど凄く面倒になるのでMOD作り初めてだと避けた方が無難って感じです

61 :
皆さんありがとうございます。
今はまだ何をおっしゃっているのかわからない部分もあるので取りあえず皆さんのレスを保存しました。
勉強しつつ滑らかに理解できるようになったら、またお世話になりたいと思います。

62 :
DR5.0で首切りモーション発動と同時にクエスト更新の窓がポップアップしてくると、ほぼ全てのキー入力が利かなくなるんだが、既知のバグかな?
Hermaeus Moraのクエストで、討伐対象NPCを相手に上の条件が発生すると100%再現する。なんとか治せないもんかな…

63 :
>>62
DR入れてないので勘だけど、多分キー制御をOBSEでオフにした状態にMenumodeに入ってしまっているのでは。
一時的な対処でよければ、事象が起きたタイミングでコンソールを開いて
EnableControl 4

EnablePlayerControls
を叩けば直る気がする。
というか自分のMODの場合ほぼ同じ事象が出てこの対処を入れた。

64 :
>>63
情報ありがとうございます
Hermaeus Moraのクエで再現し確認したところ、EscキーでPAUSEメニューを出しマウスのポインタを動かせる状態にした後にEnableControl 4で治りました
なお、同クエストでは、一人目の討伐では本不具合は発生せず、二人目以降で100%発生しました。クエスト側のポップアップの出し方にも問題があるかもしれません
ちなみに本不具合の再現にはDR5.0のCritical thrustのモーションを発動させてます
取り急ぎの情報まで

65 :
Tonaさんのチュートリアルを参考にTシャツをBlenderで作成、nifで装備として登録してみたのですが、
nifscopeで見た場合にはキチンと全て表示されるのですが、ゲーム上ではTシャツ部分のみが表示されないという状態です。(名札のようなものは表示されています。)
このような状況になった理由として、どのようなものが考えられますか?
ttp://shy.jsphr.net/upload/img/ups29764.jpg

66 :
>>65
Tシャツのノーマルマップを作ってないか、作ってあってもファイル名が違うとかでは?
(テクスチャ名_n.ddsになるはず)
あとはメッシュの向きが表裏逆になっているとかありませんか?

67 :
>>66
ご指摘の通り、ノーマルマップが原因でした・・・。
ところで、オレンジ色の名札っぽいものとTシャツ部分は同じテクスチャを使用していたのですが、
なぜノーマルマップが不良状態でも名札部分は表示されて、服部分は表示されなかったのでしょうか?

68 :
このMOD作成するにはどうすればできるんです?
オブリ買えば作れるんすか?

69 :
クリーンインストール君の新パターンか

70 :
低レベルな質問ですがお願いします。
魔法を唱えるモーションが無いspellを作りたいのですが、
どのようにすれば作成できますでしょうか?
わかりにくいですよね。。。
通常、spellを作ると魔法を唱えるモーションと共に発動しますよね?
ですが、やりたいのはスクリプト内でtargetにXXの効果を与えたいだけなので、
targetにcastするモーションはいりません。
他のMODでは当然のようにやっているのですが。。。

71 :
>>70
そのXXの効果が何かによりますが、既存の魔法(例えばファイアーボール)をモーションなしで撃つというものなら
ActorじゃなくActivatorから撃つというのがよくある手かと思います。
こちらにその例があります。
http://cs.elderscrolls.com/constwiki/index.php/Casting_Spells_From_An_Activator

72 :
>>71
なるほど、そういうやり方が普通だったんですか。。。
今回やりたいXXXは、一定時間ステータスを状態異常にすることだけです。
ステータス異常の効果はspell効果を使おうとしています。
なので、別Actorとか無しで出来るのかな。。。
あれからいろいろ調べたところ、
spellのscripttypeをAbility
+target.AddSpellNS spellnameで発動したところ詠唱はありませんでした。
ところが、spellに設定したdurationを経過しても効果が消えません。
ということは、AddSpellNSを使った魔法付与は、durationが効かなくて、
itemかなにか持たせて時間計ってRemoveSpellするしかない?
…なんかめんどくさくなってきたけど、考え方はあってますでしょうか?

73 :
durationの設定が使われないのは、AddSpellNSだからではなくてAbilityだからです
キャスト無し&Spell効果だけなら多分Activator手法でやるのが一番簡単じゃないかな

74 :
>>73
レスありがとうございます。
なんと、Abilityはduration無視ですか。。。
abilityを選択した時はdurationの入力を無効にしてくれれば気づいたのに。
とりあえずActivator方法でやってみます。

75 :
横からですけど。
そういう用途でしたら簡便にXMarkerでもいけますよ。
XMarkerを適当なCellに初期配置、好きなTouchのSpellを作って、
XMarkerのRef.Moveto 相手ActorのRef 0 0 50 (地面にCastしない様にzを少し上に)
XMarkerのRef.Cast 作ったSpell 相手ActorのRef
とすればOKだと思います。

76 :
全力で答えるスレから誘導されたので、ここでBlenderでの顔メッシュ変更について質問させてください
TES NEXUSのBlender2.49bセットに入っていた
Blender 2.49b
python 2.6.6
PyFFI 2.1.5
blender nif scripts 2.5.5
nifskope 1.0.22
を入れています
ttp://vagueanswers.blog46.fc2.com/blog-entry-14.html
↑のとな氏のFaceMesh改変チュートリアルを参考にしました
Ren_Head001.nifをBlender内では一切いじらずインポート後、即エクスポートで作業したのですが
ゲーム内で↓の画像のように顔がぐちゃぐちゃになってしまいます
顔壊れてるSSなのでグロ注意!
ttp://shy.jsphr.net/upload/img/ups29795.jpg
Oblivion - Meshes.bsa内のheadhuman.nifでやってもぐちゃぐちゃになってしまって…
何が原因か分かりますでしょうか?

77 :
>>76
esmは作った?

78 :
そのMODの頭nifは分かりませんが、バニラのheadhuman.nifならImport/Export以外
一切何もしない(NifSkopeでも)なら最近のVerは正常に出ると思うのですが。
試しに一度バニラのheadhuman.nifをNifSkopeを使わずBlenderで何もせず
単にデフォ指定でImport/Exportだけして確認を。
それでダメならExportの「StripifyGeometries」をOFFして同様に確認を。
それでもダメならPyFFIを2.1.6以降にしてImport/Exportをデフォ指定で確認を。

79 :
>>77
MBP++に入ってるHuman(t)を試しに弄っているのでesmとかはまだやってないです
>>78
Human(t)なので Meshes\Characters\tanuki\Head の中の tanuki.nif です。
Oblivion - Meshees.bsa内の headhuman.nif やいじった後のNIFを ここに置いて tanuki.nif に名前変更して確認してる状態です。
で、 Restore Default Settings で Blender に Import/Export してゲーム内で確認したら正常でした。
同じように Ren_Head001.nif を Import/Export してゲーム内で確認したら壊れてグロい状態に…。
もしかしてバニラ種族以外は改変できないんでしょうか
バニラ種族より先達の頭を改修させてもらった方が楽かなと思ってたのですが…。

80 :
新たに作ったワールドの遠景表示(地表)についてヘルプお願いします
CSwikiの通りにメッシュとテクスチャを作成しこのespのみを有効にしたテストでは表示されるのですが
他のModのespを有効にすると表示されずうまくいきません
他の方が作成された遠景を使用しているModを試すと他のModと共存しているので何か間違えてるようなのですが

81 :
>>79
一度Import/Exportしたバニラheadhuman.nifに対してもう一度同じ事をすると
やはりおかしくなると思います。
多分そのMODの頭nifも内部的に同じ状態な気も。
でも人様のMODなので実際のところはちょっと分からないです。
で、そういう場合の解決法の一つがそのNifSkopeでNiSkinInstanceを移植する方法
だと思うのですが、それでどうしてもダメだとなるとなんか別な方法に。
例えばそのMOD頭nifとバニラheadhuman.nifの両方をNifSkopeで同時に開き、
MOD頭のNiTriShapeDataを右クリ→Block→Copyしてバニラ頭nifのNiTriShapeDataを
右クリ→Block→PasteOverすれば、メッシュはMOD頭でImport→変更→Exportしても
崩れない頭nifになると思います。
方法は他にもあるかもですがとりあえずそれで確認を。

82 :
>>80
ここ見てやってます?
http://cs.elderscrolls.com/constwiki/index.php/Landscape_LOD_Tutorial
そこの「Additional Notes」にあるTES4Geckoの"MoveWorldspaces"は実行しました?

83 :
デキタ-!
>>82
ありがとうございます、そのページを見て進めていたのに見落としていました

84 :
>>81
Ren_Head001.nif の NiTriShapeData をBlock→Copy
Headhuman.nif のNiTriShapeData に Block→PasteOver
このときNifVersion Differとか出ます
Ren~の方が20.0.0.5でHuman~の方が20.0.0.4と
Continueでそのまま移して保存
このnifファイルをゲーム内で読み込んだら正常でした。
しかし、このnifファイルをBlenderでImport/Exportした後
ゲーム内で読み込んだら顔が壊れてました。
Export時にStripifyGeometriesをオフでやっても同じく壊れたまま
バニラのHeadHuman.nif をBlenderでImport/Exportやった後、Nifskopeで開こうとすると
NifVerDifferとか出ますがゲーム内では正常になってます。
20.0.0.5とか言われるNifVerではNiBinaryExtraData と NiSpecularPropaerty が増えているようです。

85 :
>>84
そのheadhuman.nifがバニラなのは確実なんでしょうか。

86 :
>>85
OBMMのutilities→BSAbrowserでOblivion - Meshes.bsaを開いた後、folder nameでソートして
mwshes\characters\imperial\headhuman.nif
てのをextractしたものです

87 :
>>86
うーん、なんでしょね。
うちのheadhuman.nifは20.0.0.5でPasteOverで問題なく行けるのですが。
>>84最後の件のブロックが増えるのも謎ですし。
SIとかパッチとかそういう話なんでしょかね。
またPyFFIはやっぱ2.1.6以降にした方がいいかもです。
あと特定MOD個別の話になるのでアレなのですが、うちの環境だとその
Ren_Head001.nifを直接Blenderで変更→Exportでなぜか行けちゃいますし。
その辺の状況をまずはっきりしないと先に進めない気もしますが、
とりあえず次に出来そうな事は、そのMOD頭nifをBlenderで少し変更してExport、
そのNiTriShapeDataを元nifのそれにPasteOverするとどうなるか、みたいな
かんじでしょうか。
申し訳無いですけどもう寝ます。また明日以降。

88 :
ちょっと今気付いたのですが、そのnifを入れ替えてテストしている種族のフォルダに
オリジナルなegmやtriがあると変な動作になるかもです。
なのでバニラのImperialかなんかのフォルダでテストした方がいいかもです。

89 :
>>88
ありがとうございます
ゲームの方やりながら顔改修も色々試してみます

90 :
すみません
現在装備している武具の最大耐久度を取得するにはどうすればいいのでしょう?
if (GetEquippedCurrentHealth 2 < 最大耐久度 / 3)
のような感じで、その部位の耐久度が3割をきったら検出
みたいなことがしたいのですが。

91 :
GetObjectHealth

92 :
>>91
レスありがとうございます
現在装備してる特定部位のGetObjectHealthで抽出することは可能なのでしょうか?
主体になるIDが必要となるようなのですが

93 :
>>92
構文はこうなってます
(health:long) reference.GetObjectHealth objectID:ref
言われているように、GetObjectHealthはObjectIDの耐久値だけを割り出すようなので、
装備している特定部位の最大耐久値を出したければ、別途装備している箇所のObjectIDが必要となると思います
その際は、GetEquippedObjectで装備箇所のIDを取得してからGetObjectHealthという形でいけると思います
もっとスマートなやり方があるかもしれませんが、私はこれ以上知りませんので
他の方達にお任せ致します
参考
ttp://cs.elderscrolls.com/constwiki/index.php/GetObjectHealth

94 :
>>93
即レス感謝
やはり簡単に取得するのは困難そうですね。
そうなると、常時各部位IDの取得をはさまねばならず、
負荷が高そうですね。
うーん、諦めたほうがよさそうなきがしてきました。

95 :
>>94
?特に困難では無いように思いますし、負荷も当初想定とそう変わらないのでは?
投稿を見る限りもともと常時ある特定の部位の耐久度を見られる想定だったように見えますので
そこに関しては条件は変わっていないと思います。
あとは装備のIDですが、これは正直毎ターン監視しても負荷はたいしたことは無いと思うものの
もし気になるならOnEquip/Unequipなどのイベントハンドラで着脱したときだけ
取得しなおすなどの手もあり、実現方法は複数考えられます。
あるいは、毎ターン監視が気になるなら i % n のような一定ターンに一度監視するなど負荷低減の方法もやりかたは様々です。
諦めるきっかけとしては中途半端な気もするので一回作ってしまってから考えるくらいでいいかもですよ。

96 :
すみません、言葉が抜けてました。
×諦めるきっかけとしては中途半端な気もするので一回作ってしまってから考えるくらいでいいかもですよ。

○諦めるきっかけとしては処理負荷は中途半端な気もするので一回作ってしまってから考えるくらいでいいかもですよ。

97 :
戦闘中のみ特定のAbilityがつくようにしたくて
-------------------------------------
Begin OnStartCombat player
Player.AddSpell [AbilityのID]
End
Begin OnCombatEnd player
Player.RemoveSpell [AbilityのID]
End
--------------------------------------
と書いてるんだけど保存しようとすると
>Begin OnCombatEnd player
の行でImvalid block type in "begin" command.
と怒られる。
これはどうしたらいいんだろうか
そもそもググったら「OnCombatEnd」ってのはよく見るけど
ヘルプやWiki見ても載ってないんだけれど使えるものなの・・かな?

98 :
>>97
Oblivionで使えるBlocktypeは
http://cs.elderscrolls.com/constwiki/index.php/Category:Blocktypes
にあるのとBegin Functionあたり。
そのOnCombatEndはFallout3のGECKで使うものじゃない?
http://geck.bethsoft.com/index.php/Category:Blocktypes

99 :
すみません、今製作中のミニゲーム的なクエストの景品として
装備を提供出来たらと思ったのですが
どなたかmodder向けのメッシュだけ装備の情報とかご存知の方はいらっしゃいませんか?

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
ニコ生AOCスレ (278)
ADVANCED大戦略 33式突撃歩兵砲 (355)
ストロングホールド3 Stronghold3 (218)
【FM】Football Manager 日記スレ9 (782)
DiabloII MODスレその16 (675)
LoL】League of Legends【DotA系】 その115 (222)
--log9.info------------------
○◎● マジカルドロップ ◎●○ (611)
今日買った90年代TVゲームを書くスレ (550)
バーチャファイターに衝撃を受けた人 (657)
【恐竜】ディノクライシスのスレ【バイオハザード】 (198)
スパイロ・ザ・ドラゴン【SPYRO THE DRAGON】語ろう (449)
【あの頃】ああ懐かしの90年代【僕らは】 (811)
【PS】エンドセクター7枚目 (219)
【粘土】クレイマン・クレイマン 総合スレ【粘土】 (241)
バンジョーとカズーイの大冒険を語るスレ 8 (337)
遊戯王 モンスターカプセル ブリード&バトル (199)
PSのXI(sai)やった事ある奴ちょっとこい (291)
ミザーナフォールズ 二日目 (823)
【コピー能力】星のカービィ64 Part.2【ミックス】 (547)
デス・スロットルって知ってるかよ? (434)
機動戦士ガンダム ギレンの野望【ESP】 (566)
I.Q [Intelligent Qube] series (141)
--log55.com------------------
【アッキード/森友】ゴミの撤去費「総額消す」財務省と国交省で協議メモ◆2★1754
韓国から来日の元慰安婦が訴え 「死ぬ前に謝罪と賠償をして」
【アッキード/森友】ゴミの撤去費「総額消す」財務省と国交省で協議メモ◆3★1755
【万引き家族】安倍政権批判の是枝、こっそり「助成金」を利用していた事が判明 ネット「全て自己資金でやってから偉そうなこと言え」
佐高信「安倍晋三は拉致問題を食い物にして首相になり無責任なことやってる。解決したいなら平壌に乗り込め。そして帰ってくるな!」
【モリカケ問題に興味なし】東浩紀 “首相の嘘”は「囚人のジレンマ状況から生まれた構造的なもの」
【新潟県知事選】 池田氏と花角氏横一線  池田氏60代〜80代、花角氏20代〜50代の支持を集める
G7 安倍首相 途上国の女性支援に220億円の支援表明 「女性参画は社会を成長させる」「女性の活躍推進をさらに続けていきたい」