OBLIVION MOD作成支援/相談スレPart3
1 :
名無しさんの野望 :
2008/10/31(金) 22:30:04 ID:XYJ+Siwe
2 :
名無しさんの野望 :2008/10/31(金) 22:38:00 ID:KiBPKYn6
3 :
名無しさんの野望 :2008/10/31(金) 23:03:43 ID:qH4J+Xj4
いちょつ
4 :
名無しさんの野望 :2008/11/01(土) 00:25:23 ID:wIfc3d5P
すんません
ずっとNPCのアイテムボックス設定と格闘してる無能の前スレ
>>992 なんですが・・・
二つどうしてもわからないことが
スニーク状態でコンパニオンのアイテムボックスを開くと
盗人扱いになってしまうのですが
これどうやって回避できるんでしょう?
開くコンテナの属性はPlayerにしてあります
mpcscriptとも延々にらめっこしましたがわかりませんでしたorz
あと、アイテムボックスを開いたときに
持たせていたアイテム→Removeallitem ****Ref(指定コンテナ)したアイテム
が、2つになってるのですが原因わかりますか?
二回目以降はそれ以上増えず
個数-1とかにはせずちゃんと1つになってます
よろしくおねがいします..
5 :
4 :2008/11/01(土) 01:40:41 ID:wIfc3d5P
原因はわからないのですが どうもデフォのプライベートボックス?と用意したボックスを 両方開けてしまったり(毎回ではなかったですが)してたのが原因だったようです・・・ おさわがせしました 一応解決しました...
6 :
名無しさんの野望 :2008/11/01(土) 01:57:13 ID:hUj7BX8T
>>1 乙
CSヘルプ(日本語版)の「My Second Script」項を参考に
チュートリアルを進めている所なんですが
「メッセージボックスを1度だけ表示する」という課題がうまくいかないんです。
例題のスクリプトを少し改変
(チェストをアクティベートするとメッセージボックス表示→リンゴを入手するとメッセージボックス表示)
して試しているんですが、1度目のメッセージボックスが出た後も
本来なら表示されない筈のメッセージボックスが出たり出なかったりしています。
Appleを足元にバラ撒いてひとつひとつ拾ってして試してみましたが
連続して拾っていると連続でメッセージボックスが現れる事はなく、
1つ目を拾って5秒ほど間を置いた後で再びリンゴを拾うとまたメッセージが表示されます。
ヘルプを読んでもいまいち原因が分からないです。
例題通りのスクリプトだと正常に動作しているようなんですが…
初歩的すぎて恥ずかしい。どなたかご教授お願いします。
7 :
6 :2008/11/01(土) 01:59:00 ID:hUj7BX8T
あれ?二重改行が反映されてない。 とりあえず、スクリプトは以下です。 scn HelloWorld Short Hoge Begin OnAdd If(Hoge == 0) MessageBox "Hoge hoge?", "Yes","NO" set Hoge to 1 EndIf ; test end
8 :
名無しさんの野望 :2008/11/01(土) 09:52:42 ID:8omiR7kl
インベントリアイテムの変数はその場限りのものとして使った方が良いんじゃないかな。 globalやquest変数をフラグにすればうまく動くと思う。
9 :
名無しさんの野望 :2008/11/01(土) 10:06:45 ID:zFbAUioR
>>8 なるほど!
仕事から帰ったら早速試してみます。
でもどうしてSet to 1した変数が元に戻ったりするんだろうか…
もう一回CSWiki読み直して考えてみるよ。ヒントありがとう!
たびたびすいませんすorz ↓のように組んだのだけど conversationがどうしてもインベントリ閉じたあとに出てしまうのですが 先を出すにはどうすればいいんでしょう Setconversationの位置を動かしてもどうにもならなくて・・・ 変数とか使わずにシンプルにそういう方向に持っていける方法がありそうでしたら アドバイスいただけませんか? begin onActivate set who to getActionRef if who == player if isInCombat stopCombat endif elseif (player.isSneaking)&&(GetStage **** >=20) startconversation Player, *******(Topic) set ****(インベントリ変数フラグ) to 1 return endif endif endif Activate end
前スレにあったワールドスペースのチュートリアルを読んで 新しいワールドを作ろうとしているんですが、 oblivion.esm読み込み→World Spaceで新ワールド作成→ ハイトマップエディタを開いて新ワールドを選択→ まずはなにもせずにFile→Saveしようとすると、 Saving Terrain Texture...というプログレスバーが表示されて20秒ほどで 必ず強制終了してしまいます。 どうしたらいいでしょうか?
>>10 インベントリ開くフラグ設定をtopicのresult scriptでやれば良さげ。
ところでそのスクリプト、endifが多すぎない?
>>6 スクリプトに関しては問題無いと思いますよ。確かにインベントリアイテムには
スクリプトを書く上で多少制約があるのですが、この場合は関係無いと思います。
念の為そのスクリプトをコピペして実際に動作を確認しました。
とりあえずIDを変えた別なオブジェを作ってそれに付け、CS上で何個か地面に配置して
ゲーム中で拾ってみて下さい。
AleswellInn内だと所有権とかの関係で話がややこしくなるので自宅か屋外で。
あとそのスクリプトだと他のNPCが拾っても反応するので誰もいない所で。
可能なら他のMODを全部はずして新規ゲームで。
>>10 >>12 さんの仰る通り一連の会話の最後のInfoのResultScriptで
「set そのNPCのRef.インベントリフラグ変数名 to 1」とすればいいかもです。
endifって実は多い分には何個余計にあってもWarningは出ないみたいです。
余分なendifは単に無視されるみたいで普通に動いたりします。
>>11 HeightmapEditorはランダムクラッシュするみたいです。どうしましょう。
PCをリブートしてみたり、逆に地形を少し弄ってからSaveしてみるとか。
>>12 ありがとうございます!
なるほど!その発想はありませんでした
ただ、そうなるとquestのscriptから実行になるわけですが
反応的に大丈夫でしょうか
とりあえずやってみます!
>ところでそのスクリプト、endifが多すぎない?
え、いらないところありますか?
MPCさんと前スレ最後にあげていただいたscriptを参照に同じように組んだつもりだったのですが・・
どのあたりが不要なのでしょうか・・・
16 :
15 :2008/11/01(土) 17:58:35 ID:WGR9J1WB
すいません勘違いしてました・・・
そのscriptを貼り付けたNPCのIDを指定すれば直接いけたのですね
こんなに簡単な方法があったなんて
ほんと知れば知るほど面白くなりますねえ
>>14 問題はないようですが処理に少しでも負荷かかるのもいやなので
また色々検証してみます
安心しましたありがとう
if文はifで始まってendifで終るのだけど、
>>10 のスクリプトはifが2個なのに
endifは4個もあるよね。
begin onActivate
set who to getActionRef
if who == player ;ここからif A開始
if isInCombat ;ここからif B開始
stopCombat
endif ;ここでif B終了
elseif (player.isSneaking)&&(GetStage **** >=20) ;このelseifはif Aで処理されちゃう
startconversation Player, *******(Topic)
set ****(インベントリ変数フラグ) to 1
return
endif ;ここでif A終了
endif ;これと
endif ;このendifが余る
Activate
end
>>17 丁寧な解説ありがとうございます!
なるほど、
つまりあまりに初歩的すぎるミスでしたかお恥ずかしい
度々レスありがとうございますorz精進してきます
む、むずかし・・・・
19 :
15 :2008/11/01(土) 19:00:15 ID:WGR9J1WB
お二方ともありがとう! 無事に完全に望んだ通りになりました! 思い通りに機能してくれると嬉しいですね^^ ひたすら起動&エラーチェックオンラインで疲れますが...
質問板から出張ですません ちょ、ちょうどなんかNPC作成っぽい流れなので ついでによろしかったらアドバイスおねがいしやす これで友好は勝手に上がらないようになるとして、 scriptで該当NPOに begin gamemode以下に 変数 == 0 ModDisposition player -100(0で止まる? set 変数 == 1 これをおいとけばゲーム開始時にそのNPCのプレイヤーへの友好度はゼロになるって感じであってまする? あと、誤ってそのNPC殴ってしまったときの友好の上下の処理とか どこからかいじれます?
21 :
>>20 :2008/11/01(土) 19:53:30 ID:3t0MbW7U
4行目削除しといてくださひ
目的によるけど、factionで調整するのもアリかも。 友好度を固定したいのならGetDispositionとModDispositionで頑張らないと 無理だろうけど。 gamemodeは毎フレームぶん回るから、onLoadあたりで実行しても良いかもね。 誤爆への対応はonHitかなぁ
コンパニオンもゴーストアイテム拾えねええ 装備はできるじゃねえか findパッケージ組み込んだのに徒労に終わった
>>22 レスthx!
onloadだと常にリセットされちゃうわけっすよね?
ってことは
最初に
begin gamemode
if (****変数) ==0
ModDisposition player -100
set (****変数) == 1
endif
って感じでおいとけばいいのかな?
もしかしてこれやると
常時-100が働く?
変数はbegin gamemodeがループするごとにリセットするとかじゃないよね?
>誤爆への対応はonHitかなぁ
ちょっといまいちどう応用すればわからないので色々調べてみるよ・・・
onhit に犯罪値とか友好マイナスを着かないようにする条件を付けられるってことかな・・
25 :
24 :2008/11/02(日) 02:33:11 ID:I+xBiuMD
とりあえず試してみた所 初期設定をゼロなりなんなりにしとくには ↑のでだいじょぶみたいですわ )))
ゲートからいける新天地を作成中なのですが 気象を固定するにはどうすればいいのでしょうか? ゲート内のマップデータなどを参考に作成しているのですが気象変化に関する情報を探せません すみませんがヒントをください。
>>26 ForceWeatherで天気を指定のものに固定、
ReleaseWeatherOverrideで固定していた天気を解除です
入ってくる付近の地面にObjectをうめてそれにOnLoadでからませたり
Getinworldspaceなんかで監視すればうまくいくのではないでしょうか
>>26 World→WorldSpaceで適当なClimateを指定、という手もあるかもです。
全体の気候はWorld→Climatesで、個別の天気はWorld→Weatherで作れます。
Climateの中にWeatherが一つだけなら天気は固定されます。
スクリプトのOnLoadで処理する場合は本編の自宅内側ドアのICHouseForSaleDoor等に
付いているスクリプトが参考になるかもです。
ドアオブジェクトにスクリプトを付けてOnLoadで「Playerがそこに来た時」に起動して
処理をする良い例です。
>>10 >>18 10のスクリプトですけど、そもそもインデントのつけ方が間違ってません?
確かに見た目と可読性だけの問題ですけど、IFとENDIFの頭が揃っていれば
ENDIFを二つも余計につけてしまわずにすんだと思うんですけど。
後、7行目のELSEIFは一つ目のIF(17氏がコメントしたところのIF A)に対
応するものでいいんですよね? IF Bに対応させたいのなら、それだと根本的
にロジックがバグってますよ。
(まあ、IFの閉じ方間違えるのは結構やることの多いミスですが(苦笑)。)
すんません 二つ質問を・・・ どうもNPCの友好度がちょくちょく11?くらいを決まった幅だけ上下(たとえば19or30みたいに)するのですが どんな要因が考えられますか? 物を取ったり武器を構えたり友好に変動を与える動作はしてないです ゲームスタート時にmoddisposition -100とかでゼロにして そこからフラグたったときだけ加算していく方法がとれるかと思ってためしてみたんですが どうにも上記のとおり不安定で・・・・ できればフラグがたつ時以外はdisposition(友好)をまったく動かさないようにしたかったのですが やっぱり難しいのでしょうか? いっそ 適当なアイテムを指定のコンテナに突っ込んで それの数で感情値みたいにしたほうがいいんでしょうか 質問ばっかりですんません..
>>30 何でしょうね。特にそういった現象は経験した事がありません。Dispositionの値を
常時監視してリアルタイムで何かをする、みたいな処理は自体はやった事無いですが、
AI等の一般的な判定処理で謎の不具合が出た経験は無い気がします。
もし自前でDispositionに何かの操作をしているなら順番としてはまずその処理を
徹底的に確認でしょう。
で、Dispositionをフラグ変数代わりにして値を代入、何かを順序動作させようとしても
多分思った通りには動かないでしょう。色々な要素で値は元々不定期に変わります。
またDispositionはその値の範囲や役割がすでに決まっている重要なパラメータなので
そういった使い方はトラブルの元かもしれません。
それにどの程度のツンデレ設定なのかは知りませんが、0というのは基本的に問答無用で
相手を殺しにかかる、という意味です。普通に嫌うなら30未満程度で充分です。
もし進行に応じて特定の値になるギャルゲ的な「友好度」が必要なら、Dispositionを
流用せずに別に自前の「友好度変数」を用意した方が良い気がします。
適当なタイミングでその「友好度変数」を元に適切なDispositionを設定すれば態度にも
きちんと反映されると思います。
>>31 丁寧なレス頭が下がります感謝!
どうも例:20or31と二択で変動していて意味がわからないのです・・・
どちらにせよ仰る通り色々な動作に関係してますしDispositionは流用しないほうがよさそうですね
>もし進行に応じて特定の値になるギャルゲ的な「友好度」が必要なら、Dispositionを〜
これも本当に仰るその通りなのですが・・・
やりたいことを考えるとなんとか蓄積できる数値型にしておきたくて
今必死にない知恵しぼってるとこです
で、コンテナに感情値をあらわすリンゴをつめていく
↓のようなのを考えたのですが
if (TestQuest.updown(感情値を変動させる量の変数) != 0)
if (testquestVar.updown == 1)
AffectBox(感情値アイテムをいれとく箱).additem AffectApple 1
set TestQuestVar.updown to 0
endif
elseif (testquestVar.updown == -1)
AffectBox(感情値アイテムをいれとく箱).additem AffectApple -1
set TestQuestVar.updown to 0
endif
endif
こんな感じでどうでしょうか・・・
このリンゴの値をどうやって会話フラグとかに変換できるのか
難しいとこですが・・ うーん、できそうなきはするんですが
33 :
32 :2008/11/04(火) 01:33:29 ID:AMXnFAEk
あれ、すいませんこれもしかして・・ 見えないアイテムを所持品につっこんで それカウントしてあげればいいんじゃ・・・・(;゚д゚)
>>27 ,28
レスありがとうございます。
早速やってみます。
>>32 >蓄積できる数値型
>>33 の方法でも良いと思いますが、一般的には普通に変数を使うのでは。
「set〜to〜」の「to」の後には「式」を書けます。例えば「set a to a + 1」は変数aに1が
足されます。そういう意味ではないのでしょうか。
ついでに。ファンクションは引数に変数が使えます。「ModDisposition a」みたいに。
でもDispositionの場合は値を直接指定するファンクションが無いみたいなので、
変数の値を指定するには以下の様な手間が必要になると思います。
set 一時変数 to 好感度変数 - GetDisposition Player
ModDisposition Player 一時変数
>このリンゴの値をどうやって会話フラグとかに変換できるのか 「会話フラグに変換」という意味が分からないのですが、もしリンゴの数に応じて 会話の内容を変える、という意味であればやはりTopicのConditionsでその値を見て Topic自体を切り替えるか複数のInfoを用意するのが王道ではないでしょうか。 あと「フラグ」というのはプログラミング分野で使う場合はある状態を検出するのに 使う変数やその値を意味します。これは万国共通のプログラミング用語です。 ギャルゲ系雑談でよく聞く「何か特定のお約束状況が始まる事」を漠然と指す 「フラグ」という言葉とは区別しないと説明も回答も混乱してしまうと思います。
帰宅!
>>35 おお!ありがとうございます
そんな直接てきな方法がとれましたか!>>
>>33 のあとにアイテム代入組んでしまったっす(´・ω・`)
その方法でいきたいとおもいます!
いつもありがとうorz
>>36 すいません
正直会話フラグとかのつもりはありませんでしたっす
配慮がたらず申し訳ないですorz
ギャルゲ・・・つくるわけじゃないんですが・・・すいませんほんと・・・
>>35 感謝!
こんな感じでとてもシンプルにくめました!
がんばりやっす
if (aaLoDVar.updown != 0)
set Affect to aaLoDVar.Affection
set Affect to Affect+(aaLoDvar.updown)
set aaLoDVar.updown to 0
set aaLoDVar.Affection to Affect
endif
連日すみませぬ NPCどおしに会話させて(オープニングの牢獄のように)やりたいのですが、 Conversationでlink to にaddtopicで入れて、 対象をtargetにしてやるだけじゃだめなんでしょうか? sayto targetNPC トピック としてるのですが どうにも一般会話したり発生しなかったり ちゃんと指定したのが派生してくれないのですが・・ GetIsIdでlink先のトピックも相手方NPCに限定もしてます 散々色々試したのですが どうにもうまくいかなくて・・・ なにかコツがあったら教えていただけませんか
>>40 別に秘密の「コツ」とかは無いです。指定が正しければ普通に動きます。
お話の内容だけでは指定内容が正しいかどうか判断出来ないので一般論を。
まず、CSWikiで「conversation」を検索するとそのものズバリの項目があります。
英語ですが。もう諦めて読むしか無いと思います。
多分一番見通しの良い方法はその項目にある、Topicの中に複数のInfoを作って
それぞれのResultScriptの中でカウンタ変数の値を増やし、その値を「フラグ」にして
次のInfoを出して行く方法でしょう。その際のLinkの方法とかその他の注意事項も
全部書いてあります。会話の開始は「StartConversation」で。
また、NPC同士の会話は音声ファイルが無いとすぐに終了してしまうので適当な長さの
ダミーのmp3を用意しとくといいかもしれません。
あと、単に向かい合った状態では無く変わった演出付きで会話をさせたい場合は多分
個別の特殊な方法になると思います。
>>41 レスありがとうです
いえ、もちろんちゃんと何度も目は通しました。
そんなに長い解説があったわけではありませんし・・・
ただ、saytoのターゲットをPCにすると少なくとも最初の始まりのTopicはちゃんと画面に表示されるのは確認したのですが、
NPC相手にしてあげると顔だけ向けてtdtみてもタゲっているだけで
全く会話する気配がいないんです
ちゃんと発動するのがわかれれば
フラグとかlinkの仕方はわかっているつもりなのですがorz
会話の開始は「StartConversation」じゃないでしょうか。 「Say」と「SayTo」は単発セリフ用な気がします。
>>43 そ、そうでしたかすいません
ただ、conversationも試したことがあって、
そちらだと
そもそも字幕もでず話しかけに近寄って立ち止まってお見合いのままになってしまうのですが
>>44 会話のサンプルespです。やっつけですが。
http://up-load.ddo.jp/upload/data/up19856.jpg (zip)
Waterfrontの海側壁のそばに上半身裸の男が二人立ってます。「NPC1」と「NPC2」です。
コンソールでNPC1をクリック、「startconversation [NPC2のRef] A0QTalk01」と入れると
会話が始まります。セリフは各自二つずつの計四つ、「A0QQuest」で指定をしています。
5秒の無音mp3が会話の数だけ入っています。
で、この手のシステムは指定が一箇所違うだけで全く動かない事は良くあります。
もう一度CSWikiに書いてある内容と自分で指定した内容を一語一句つき合わせて
よーっく確認すると多分幸せになれる気がします。
>>45 な、なるほど・・・
link to fromだけでなく
Quest変数で条件立てした上でさらにimmedeietlyオプションまでつけてあげないと
ちゃんと連携してくれなかったのですか
ありがとうございます
お陰でなんとかなりそうです
しかしこれは、とんでもない作業なのですね。がんがりまする!
重ね重ね感謝orz
>>45 あ、それから
わざわざサンプルまで作っていただいて本当にありがとうございます
すんません。今日もきてしまいました・・・ 連日で正直申し訳ないとは思うのですが、 どうしても解決しないので教えていただけると助かりますorz ↓のように組んでみたのですが まったくNPC2には反応することなく問答無用でプレイヤーに話かけにきてしまいます 後半部分を削るとちゃんと動作してはいるようなのですが・・・ なぜ後半が優先されてしまうのでしょう? 自分なりに組み変えたり試行錯誤は相当数こなしたのですが 原因がわかりません・・・ 同様の処理は今までにもいくつも試してうまくいっているのですが。 NPC同士のConverSationだとなにか処理が変わってくるのでしょうか? もしお暇でしたらよろしくおねがいします。 やっぱりNPC周りはとんでも難しいっすね・・・・ NPC1Script if (変数a == 0) Enable DisablePlayerControls StartConversation Test NPC2 TestConverSation(このConversationの最後で→set 変数a to 1) return elseif (変数a == 1) EnablePlayerControls StartConversation Player TestTopic
あ、すいませんデフォで消えてる設定だったので Enableがはいってやした 消し忘れたっすすんません
>>48 スクリプト例が抜粋で改変してあるみたいなのでこれだけでは判断出来ません。
判定条件の不備な気もしますが。とりあえず問題を確実に切り分ける為にコンソール
で会話単体が正常に動作するか試してみると良いでしょう。
・「show 変数名」で変数aの値が0なのをまず確認する
・「StartConversation [相手のref] Topic名」で正常に会話するかを確認する
・変数aの値が1になっているのを確認する
この動作が正常ならスクリプトが確実に間違っている、という事です。
これをまず確認してからスクリプトをそのままコピペしたテキストをどこかにUPすれば
適切な回答がもらえるんじゃないでしょうか。
>>48 で、あくまで予想なのですが、ご希望の動作をさせるのに恐らくNPCのオブジェクト
スクリプトは必要無い気がします。例えば、
ある条件でプレイヤーの操作を禁止→NPC1が出現→NPC1とNPC2が会話するのを見せる
→終ったら今度はNPC1がプレイヤーと会話して…
みたいな動作をさせるのでしたら、QuestStageのResultScriptで処理するのが
適当でしょう。というかまさにその為の機能です。
一つのステップが終るたびに適当な個所でSetStageで次のステージ番号をセット、
そのステージのResultScriptでEnableとかStartConversation等の必要な操作を
すればそれでほとんどの動作は実現出来ると思います。
Obはシナリオの進行はクエストで管理する様に作られています。
スクリプトはそのSetStageをする条件の検出や、クエストだけでは実現出来ない
動作が必要な時にだけ使うのが良いでしょう。
>>50 さん
ありがとうございます
いえ、該当NPCを設置場所にInvisible設定でおいてあるだけの状態で動作確認しています。
ですの、スクリプトはこれだけになります。
ちなみに前者のNPC同士の会話のみの部分だけ↓で
if (変数a == 0)
Enable
DisablePlayerControls
StartConversation Test NPC2 TestConverSation(このConversationの最後で→set 変数a to 1)
endif
この部分だけで稼動させると問題なくちゃんと最後まで会話してくれます
仰るとおりに変数もゲーム中で確認してみましたが
どうにもEnableで現れた瞬間には 1 になってしまっているようでした。
どうもEnableで現れた瞬間に会話が瞬間発声即終了?
で、実際にはEnable即PCに話しかけてくる。となってしまっています
>>50 アドバイス感謝です
とりあえずは
if (変数a == 1)
EnablePlayerControls
StartConversation Player TestTopic
endif
この部分をクエストスクリプトの方に持っていったりもしてみましたが
やはりどうにもNPC同士の会話がすっとばされて変数a=1がたってしまう結果でした・・・・
とりあえず、まだ検証していますorz
>>52 どのblockでその処理を実行しているのでしょうか。その辺も含めてスクリプト
全体をそのまま見せて頂かないと判断は出来ません。
恐らくGameModeの中で実行していて判定が「if (変数a == 0)」だけなので会話が始まった
後も毎フレーム同じ処理を繰り返して…、みたいな事だとは思うのですが。
一般的な処理の概要の話でしたら概念的なコーディング例みたいな書き方でも良いと
思うのですが、具体的な個別例の検証を希望するならソース全部をあるがまま
見せない限り適切な回答は期待出来ないと思いますよ。
で、
>>50 の話は「QuestStage」の「ResultScript」の話です。「クエストスクリプト」
ではありません。
>>53 さん
>>52 の後半は
>>51 さん宛てでした申し訳ありません
>恐らくGameModeの中で実行していて判定が「if (変数a == 0)」だけなので会話が始まった
もう一度位置から組みなおしてみます
それでもどうにもならなそうでしたら
恥じをしのんでファイルで挙げさせていただくかもしれません
その時はまたよろしければおねがいします○...rz
>>54 >>53 の
>で、
>>50 の話は「QuestStage」の〜
の「
>>50 」は「
>>51 」の間違いです。なんか混乱してしまいますが。
勉強の意味で試しにまた一から作ってみるのなら良いと思いますよ。少し面倒だとは
思いますが。恐らくQuestStageと似た概念の処理になると思うので、その処理を
作った後にQuestStageの使い方を見ればすぐに意味が分かるでしょう。
何か本末転倒な気もしますが、プログラミングの良い経験にはなると思います。
初心者でもOKらしいので質問させてください。 CSを触りはじめて武器等をMODから抜き出したりはできるようになりました。 重さ等をいじった後も配置しないと反映されないんでしょうか? 多分同じことだと思うのですが、家の家具等をいじって上書きはできないんでしょうか? saveしてesp作ってobmmに入れても反映されてません・・・ 教えてください、お願いします。
>>56 お話の内容だけだと具体的な判断は出来ないのですが、
MODをMODで変更しようとしてたりしません?
すんません ((0 + GetRandomPercent * (99 - 0) / 99) これはどうやったら活用できるんでしょ set 指定の変数 to ((0 + GetRandomPercent * (99 - 0) / 99) とCShelpの通り組み込んでゲーム中でみてみても 置き換えた変数には常時0なんですが 何か特別なやり方があるんでしょか?
既存の物とMODの物で両方試してみたのですがうまく反映されませんでした
>>57 さんの感じだとMODからMODというのは無理みたいですね
既存の物でもう1度試してみます
返答ありがとうございます
まめ知識 ・espでespを上書きすることはできない(espを直接改変するしかない) ・esmでespを上書きすることはできる(マスターファイル指定する必要があるが) ・ロード順があとの方にあるものしか反映されない (A.espで鉄の矢の値段を10Gにし、B.espで鉄の矢を3Gにした場合、 A.espをあとにロードさせると10Gに、B.espをあとにロードさせれば3Gになる) バニラにある建物の家具を移動させるだけでいいのなら、 esmをespで上書きするのと同じ原理で(バニラもoblivion.esmというマスターファイルに過ぎないから)できる。 しかし、esp形式で追加した家の家具を動かすなら、そのespそのものを弄るしかない。
>>58 式の書き方はあってます。でもその例だと単に「set 変数 to GetRandomPercent」と
書いたのと全く同じです。多分。
で、「特別なやり方」とかはありません。
スクリプトが思った通りに動かない場合は、書式、使う関数の選択、Blockの選択、
ifとかの制御構造、スクリプトを付ける場所、デバッグの方法、そもそもの設計、
のどれかに必ず問題があります。一つ一つをよーーっく確認してみて下さい。
あと、行頭のインデント、コメント文中以外の空白文字は必ず「スペース」一つにして
おくと安心です。空白文字にTabが混在していると予期しない動作をする事があります。
でもこれは別に「特別なやり方」とかではなくて、安全なソースを書く為の昔からの
世界共通のお約束です。
>>61 レスありがとうございます
うーんたとえば
変数に数字を入れ替えてそれを維持しておきたいので
ためしに
なにも絡めず単独で走らせて見たのですが
中に何もはいっていないようで
使い方がまったく検討つかないのです
すいません
使い方の例?をよろしければあげてはいただけませぬか
初心者質問ですいません。ドアの設定について教えてください。 家を造ろうと思って、試しにIsolated Houseをコピーして他の場所に設置しました。 家の中もコピーして両者をリンクしようとしたのですが、Door Markerが作成でき ません。 いろいろ試して、Extelier側のドアの位置に別途WorldObjects/Doorからドアを D&Dしてteleportで内部セルをリンクするとリンクはできるようなのですが、 Door Markerの向きが逆(四角錐の部分が外向きに設置されるはずがドア方向)に 向いて設置されてます。この状態でExtelier側からActivateするとリンク先に 入りますが、ドアとドアのすき間に閉じこめられたようで、室内に移動する ことができません。 Door Markerというのは具体的にどのように設置すればいいのでしょうか
>>63 黄色の角柱(ピンクの三角錐が付いてる)の事ですよね。
この角柱の設置の仕方って細かく説明したサイトがあるのかどうか知りませんが
任意の位置に設置したいと言うので有れば
ドラッグで前後、左右
右クリックでマウスを動かすとその場で左右回転
zキーを押しながら右クリックでマウスを動かすと左右に倒れる(通常は弄らなくても良い)
zキーを押しながらドラッグで上下移動
角柱下部(ピンクの三角錐の反対側)が床面と垂直になる様に持って来ると良いです。
希望通りの位置にDoor Markerは出ないと思うので微調整は必要です。
ピンクの三角錐の先に出現する(その部分に背中合わせで)ので通常はドアと反対向きに配置します。
やり方としてはどちらからしても良いですがドアとセルのEditor ID等はメモしておかないと複数の
ドアを設置した場合は別の場所と繋がってしまうので注意して下さい。
ドアA(Reference→<Perisistent Referenceにチェック> Teleportタブ<Teleportにチェック>
→Cell<ドアB側のセル>→Reference<ドアB>→View Teleport Door)
ドアB((Reference→<Perisistent Referenceにチェック> Teleportタブ<Teleportにチェック>
→Cell<ドアA側のセル>→Reference<ドアA>→View Teleport Door)
>>65 63じゃないけど超さんくす
勉強中なおれにはすごい役立つ
67 :
63 :2008/11/08(土) 14:47:30 ID:U42tfBGY
>64-65 おお、ありがとうございます。 早速やってみます。 しかし、右クリックだとは……
>>62 >変数に数字を入れ替えてそれを維持しておきたいので
申し訳無いのですがこの意味が分かりません。具体的な目的が分かれば使い方や
そもそもこの関数を使うべきかどうかの話が出来ると思うのですが。
本編中での使用例でしたらEdit→FindTextでGetRand〜を探せばスクリプトが
たくさん見つかると思います。
>なにも絡めず単独で走らせて見たのですが 中に何もはいっていないようで
非常に単純な関数なので動作しない事はまずありません。簡単なスクリプトを書いて
関数をテストする、というのは非常に重要で基本的な作業なので、それをまず
クリアにしておかないと先に進むのは少し厳しいかもしれません。
その作業の方法自体が疑問ならまた別途聞いて下さい。
既存のNPCすべてにあるアイテムを持たせたいんですが、 何か良い方法って無いですかね? やっぱりCSで一人一人に追加していかないと無理ですかね?
フジョシさんのBlogを参考にアイテムを作っていたのですが、 武器としての使用ではなく、単に持たせたいと考えました。 そのため参考になる武器がなく、自力でNifSkopeで足りない情報を 入れていったのですが、bnkConvexTransformShape等がNinode の下にきません。 もちろん構造的にもおかしいし、bnkBoxShape等で枠が表示されないのも これが原因ではないかと思います。 (もちろん、Render→Draw Havokにはチェックが入っています) このツリー構造を編集するにはどうすればいいのでしょうか?
たいまつとか盾でいいんじゃね?
うーん・・・ TopicとかConversationのResultScriptに set 変数 〜 組み込むと しゃべらないうちに先に変数だけ拾って 先進むのは仕様です? いちいちtimerセットしなきゃいけないんですか・・・・
>>69 CSで持たせるのがとりあえず手っ取り早いでしょう。
でも根性が必要ですし、競合したりMODで追加のNPCには対応出来なかったりします。
スクリプトを書いてゲーム実行時に持たせる方法もあると思います。
でもやはり色々な工夫や力技が必要な気がします。
>>72 上のサンプルみたいに一つのTopic内のInfoのLinkで会話をさせている場合でしょうか。
だとすると試しに一連の会話の最後にもう一つ別なTopicをLinkしてそのResultScript
でSetToしてみると状況が変わるかもです。
>>74 レスthxです
やっぱりだめ・・ですね
どうも会話まわりは変な仕様が目立つ気が・・・
StartConversationならちゃんと発動して会話してくれても
saytoにすると会話が発動しないことも多いですし
>>75 仕様については一見妙に見えますが、RunImmediatelyがチェックしてあるので動作に
筋は通っていると思います。対策は
>>74 の方法でOKでしょう。多分。
で、もう一度言いますが、「SayTo」は会話を開始する関数では無いです。
会話+スクリプトの一番難しいところをいきなりやろうとしてますから手間取るのは
仕方無いかもです。
とりあえずこの件は一時保留で何か別の事をやってみるといいかもしれません。
>>76 いつもありがたす
確かにほかのとこからやっていった方がいいかもしれないですね・・・
なぜSayにこだわっているかというと
単独で会話モードに切り替わらず字幕で文字が出せるからなんす。
でもどうも思ったように
(Sayで特定のTopicの字幕出してそのResultScriptできっかけつくる)
いかないみたいですね
すいませんす
身の程にあったことからやります
いつもありがとうございますorz
SS晒しスレ541へ DialogueやNamesと違って、ScriptMessageBoxはインポートしただけじゃ反映されない。 面倒だけど、どのScriptに対してインポートしてるかリストアップして、 そのつどScriptを開いてなんでもいいから変更を加える→変更を戻す→*がついてるから保存する をしないと、なんか知らんけどコンパイルされないらしくて反映されないのよ。 開いて保存するだけでいいのかもしれんけど、なんとなく一応いじってから保存する癖がついてる。 CS開くときになんたらっていうのは、OBSE必須MODはOBSEで追加した命令を使ってるので、 OBSE経由で起動しないとスクリプト保存時に「そんなコマンド知らねえ」って言われるという話。 それはそれで重要なんだけども。
>>78 おおお、出来た!wスクリプトメッセージも初だったもんで、これ覚えたら更に色々変えれそうでなんかwktkしてきましたわw
なるほど、スクリプトウィンドウ開いてインポートした奴確認してセーブしていくのか・・。しかしこんなんよく気づきましたね・・^^;
これで今まで気になってたMODのウィンドウ表示される英文もちょこちょこいじれそうです。これは本当にありがたい。
CSのアレは、やってみたけど確かに今回のは関係なかったですね。こっちのやり方もとりあえずは覚えたから、よしとします。
まだ訳したのをパッチ化して上げるとか、そういう作業にまでいけませんが(やり方はメモしてあるけども実践はしてない)
実験がてらもうちょい色々試してみます。わざわざこちらまできて助言してもらって助かりました。ありがとうございます。
?ID変わってますが、↑のは晒しスレの541です。連投失礼しました。
モーションに関して質問です システム側で再生されているモーション(攻撃とか)を強制的に停止し、 独自のモーションを再生させようと思っているのですが停止させる時点で躓いています どのようにやればいいのかすら思いつかない状態なので モーション制御に関してご教示願え無いでしょうか?
>>81 基本的にアニメは停止させる必要は無いです。一般的にアニメは
Gameplay→IdleAnimationで条件と.kfを指定して「PickIdle」を実行して再生します。
でも独自の攻撃アニメの場合は全然別な話になると思います。
もう少し具体的に希望の動作を書けば適切な回答が付くかもです。
>基本的にアニメは停止させる必要は無いです。一般的にアニメは >Gameplay→IdleAnimationで条件と.kfを指定して「PickIdle」を実行して再生します。 PickIdleの条件分けで気をつけることってありますか? (あればでかまいません >でも独自の攻撃アニメの場合は全然別な話になると思います。 イエス、YES!アズーラ倍あず(ry やりたいことはご指摘の通り独自攻撃アニメです
>>83 Idleの条件は要求する状況次第です。何に気を付けるかもほんとその状況次第です。
攻撃アニメの場合も具体的に何をやりたいかで多分方法が変わると思います。
アニメの入れ替えなのか追加なのか、どのNPC/Playerがどういう状況で何をすると
それが再生されるのか、みたいな条件次第です。多分。
似た様な事をやっているMODがあればそれを見て、何をやっているかの見当が付けば良し、
何が何だか全くさっぱり微塵も分からない場合は関連しそうな機能を一つずつ試して
疑問をクリアにして行くのが良いでしょう。一般論ですが。
すんません ちょっとNPCいじりをはじめた者なんですが scriptからNPCをdisableしてやっても 同じセルに入ると勝手にEnableされてしまうのだけど なにか思い当たるふしがあったら教えてくれませぬか ためしに、ゲーム内でDisableしてやっても セル出入りするとなぜかEnableしてしまう・・・
すんません 原因はわからないまんまだったけど ダミーセルにぶっ飛んでってもらうことで解決しやした(´・ω・`)
度々すいませんっす またきてしまいましたorz IsPCSleeping と GetPCSleepHours の使い方がどうしてもよくわからないんですが、 たとえば、一番単純な形で if (IsPCSleeping == 1 Set 変数 to 1 endif を試してみたのですがしてみたのですがこれで変数に反映されないということは 見当違いなことをしてるのだとは思いますが、 どうにも使い道が見いだせないです 睡眠フラグを活用するにはどうすればいいのでしょう? 寝てる間にIsPCSleepingは1になっているのは確かに確認したのですが・・・ 英語CSwikiも見てみたんですがどうにもわからないのです。 よろしくおねがいします
睡眠といえば初めて殺人を犯した後にくるあの人とか
>>88 そ、そういえば、あったような・・忘れてました・・
ありがとうございます!textから突き止めてきまっす
すいません!
アサシンクエだけやってなかったんでついでに暇みてやってきます!
>>85 通常はDisableしたらそのままです。本編中でも普通にやっています。もしセルに
入るたびにNPCがEnableされるならゲーム開始後初めてアリーナに来ただけで
タマネギが寄って来て非常に鬱陶しい事になると思います。
恐らくどこかのスクリプトで気付かないうちにEnableしているのかも。
例えば以前ここで出た二重顔対策のコードがそのNPCに付いているとそうなります。
また、Disableしてもそのオブジェのスクリプトは動き続けるのでその辺も注意が
必要かもです。
>>89 本編での使い方を見れば何となく見当は付いたとは思いますが。
眠っている間やTab等を押して何かのメニューを出した状態ではGameModeブロックは
動きません。その間に何かの処理が必要ならMenuModeブロックを用意します。
ですから「IsPCSleeping」や「GetPCSleepHours」はそこで。
スクリプトは種類によっていつどの様に実行されるかが違います。さらにその中の
ブロックによっても実行される条件が変わります。その辺の概念が把握が出来れば
「スクリプトが動かない」と悩むケースは恐らく9割ぐらい減ると思います。
>>91 まさにそれでした。
あまりに基本的な部分でお恥ずかしい限りです。
なかなか動作ブロックでMenuModeというのは使う機会がなかったので
失念しておりました。
正直基本的すぎたことにもかかわらず丁寧にレスを頂き
ありがとうございます。
もう少し視野広げないと解決するものもしないっすねorz
偉そうな事を書いてしまいましたが私も構造的なミスでよく嵌ったりします。 まあ動いた様でなによりです。 で、全然違う話なのですが、攻撃アニメ入れ替え/追加のメモです。 入れ替えの場合: ・作り変えたkfのNiTextKeyExtraDataで適切なTimeの値とValueに「Hit」を指定する 追加の場合(プレイヤーに): 正攻法だと多分超面倒な気が。やった事無いです。とりあえず必要そうな要素を。 ・自前でキー入力を監視、特定の拡張操作を検出 ・アニメ自体はPickIdleで適当なタイミングで再生する (一人称三人称でアニメを切り替える等手当てが必要。多分) ・適当なタイミングで見えないTrapオブジェをプレイヤーの前に出すとダメージが 多分いいかんじに(bhkRigidBodyやbhkSimpleShapePhantomのLayerを「OL_TRAP」にすると どんなオブジェでもトラップに) ・TriggerZoneも出してOnTriggerでHit音を。StartCombatとか (真面目にやるなら他にもシステムがやっている事を全部エミュレート。どこまで 出来るかは謎) ・Trap+TriggerZoneの都合良いオブジェが作れるかは謎 あまり検証していないのですが、PickIdleやPlayGroupでの再生だとTextKeyの「Hit」は 実行されないみたいなのでこの手の力技が必要になりそうです。 その辺が何とかなるか、「Hit」処理だけを単体で呼び出せれば話が単純になるのですが。 あと、拡張操作ではなく標準と同じキー操作に処理を対応させれば、 「プレイヤーだけ移動や攻撃アニメが別でNPCはそのまま」、に見せる事も可能かも。 多分。長文失礼。
94 :
70 :2008/11/12(水) 16:10:46 ID:AkVJwlRe
>>71 >>たいまつとか盾でいいんじゃね?
こっちで四苦八苦したけどダメでした。
試行錯誤したけど、結果が出なかったので報告が中々できず、禿げしく亀レス
になって申し訳ない。
結局コリジョン関係の設定はNifnodeの方のコリジョンパラメータのとこで設定することが
解ってやっと世界に登場させることはできました。
ただ、持ち手を設定してないので今はもてないのと、
テクスも設定してるのに登場させたら真っ黒け・・・(つか、ワイヤーフレームのような感じ)
勿論NifSkopeではきちんと表示されてるのに。
これはノーマルマップの設定が悪いのか、スペキュラの設定が悪いのか・・・
確かに法線裏返ってりゃ真っ黒になるのもわかるからノーマルマップとも思えるし、
逆にスペキュラ設定が不味くて反射がないだけにも思えるし・・・
どっちだろ?
すみません、現在捜索中なのですが、ロード画面のテキストの場所が分かりません ワールドでもないしキャラクターでも無し何処野田具から開ければ良いでしょうか? 教えてくださいよろしくお願いします。
>>95 野田具ってな場所にはないと思うがロードスクリーンのとこなら、MiscellaneousのLoadScreenの下を見ればいーんじゃないか?
(誤字はわかってるが、面白かったのでついw)
わー野田具って何? すみません、LoadScreen見つけられました。 これもオブジェクト扱いだったんですね。 ありがとうございました。
すいません、 メインクエストにでてきた亡霊のNPCや SIのロボットっぽいKnightofOrder?でしたっけ あれは、もしかして装備か何かでやってるんでしょうか・・・・ CSのクリーチャーやNPCを延々眺めてたのですが 検討がつきませぬ 正体をご存知でしたらどなたかぼすけてくれませんか おねがいします
99 :
98 :2008/11/13(木) 18:26:14 ID:PFoQd2cb
申し訳ない Knightは解決しました やはり装備だったようで・・・ 亡霊の方はどうにもわかりませぬゆえ おねがいします
>>100 レスthx
とりあえずそれらしいNPC見つけてゲーム内配置してみたら亡霊になってました
やっぱり装備だったんですね
CSだと反映されてなくてなんとも時間かかってしまいましたが
インベントリにはいってるcloth装備がどうやら正体のようです
それにしても・・・まさか装備だったとは(;゚д゚)
>>101 そのMODは知らないのですが、本編ではAbilityの「AbGhostNPC」で実現してたりします。
コンソールで任意のアクターに「addspell 4d7d8」とすると見た目が幽霊になります。
実際の処理はMagicEffectScriptの中でSetActorAlphaとPlayMagicShaderVisualsを
呼び出してるみたいです。
>>112 ありゃ・・・・
ヴァニラのesmしか読み込ませてないので
これが仕様かと思ってたんですが
そんな便利な方法もありましたか
これは、ヴァニラの時点で二通りあるってことでしょうか
まさかそんな方法があったとは思いませんでした
ありがとうございます
>>102 ということは武器にMagicEffectScriptでその処理をしちゃえば、
幽霊武器ができあがるのでしょうか。
ちょっとスクリプトのぞいてみようと思います。
うーん たまにCS起こしたときに***のスクリプトの***(変数?)が見つからない みたいなエラーメッセージが出て、 いじってもいないのに TopicのGet.Variableの項目が全部勝手にずれてたりとかするんだけど これは何が原因なんだろう とんでもめんどくさいことになるし、 知らないうちにどっか壊れてもわからなくて怖いよ・・・・ CS自体が不安定なのかな? 長時間作業してるとバグるとかある?
む、もしかしたら一つのtopicにつめこみ・・すぎるとばぐるんじゃ・・
107 :
名無しさんの野望 :2008/11/14(金) 15:55:39 ID:GrjkpUA5
既存のNPCに簡単な会話を追加したいと思って CSでQuestsから新規Questを作成→Topicの追加はできたんだけど Infoを作成しようとするとCSが強制終了してしまう… 手順がまずくて落ちるのか、それとも環境が悪いのかわからないんだ。 日本語ヘルプを見てもよくわからないんだけど、やっぱ手順が間違ってるんだろうか? どなたかエスパーお願いします…
あ、出先だから気付かずあげちゃった。 モウシワケナス
>>104 同じ処理では無理でしょう。多分。
アクター以外のオブジェはアルファ指定が出来なかった気がします。また武器の場合は
置く/構えるで後付けのエフェクトの扱いが違います。MagicEffectScriptも武器には
適当では無いでしょう。
置いた状態ならObjectScriptで適宜PlayMagicShaderVisualsすれば恐らくOKですが、
武器を構えた時のエフェクトはエンチャントでやるのが早いかもです。
MagicEffectを適当に改造してEnchantmentで指定する、みたいなかんじで。
武器のアルファはNifSkopeで弄るのが楽かも。オブジェを透明にする例は以前ここで
出た気がします。
>>105 スクリプトやConditionsで参照しているオブジェや変数の名前変更/削除をした後、
参照している個所を変更せずにSave→Loadをするそんなメッセージが出る事があると
思います。
そのままだと挙動不審になったり、スクリプトはWarningが出て再Save出来ないのに
普通に動作する不思議なespが出来たりするかもです。
日本語化パッチv0.15c + OBSE v0016 Beta2 3E51C65C: // 1.2.0.416 w/ no-CD patch by pwz "osi6" 005B73:D1 32 BB 3D
誤爆した orz
>>107 公式フォーラムを「crash」で検索すると恐らく似た例がいくつか見つかる気が。
同じ症状だとすると具体的な対策は不明みたいです。
すいません スクリプト魔法でヴァンパイアだけとか ゾンビだけとかプレイヤーだけとかに効く魔法にするには どうスクリプトを弄ればいいでしょうか?
CSについての質問なのですが パッケージの使用状況は確認可能でしょうか? オブジェクトの場合もカウントという項目で確認可能なのですが パッケージもどこかで確認が出来るのでしょうか? よろしくお願いします。
>>114 Factionで区別すればいいんでないかい
携帯から失礼しやす 変更をしてれば確かにそうなのだけど… ほんとに勝手にずれるconditionに関わる所はまったくいじってないんですわ しかも 一旦キャンセルで読み込んで 再度そのままロードしてみると問題なく読み込めて 意味がわからなくてびくびくであります
118 :
117 :2008/11/14(金) 23:51:14 ID:XT9Lihyh
>>116 スクリプトにFactionを組み込めばいいんですか?
>>115 AIパッケージも普通のオブジェクトも右クリ→UseInfoで詳しい使用状況が出ます。
>>117 CS自体が壊れていないのならそのespに何かの異常か不正がある気がします。
Warningのメッセージ次第でしょう。
123 :
122 :2008/11/15(土) 02:06:18 ID:1uEYPXij
>>122 明らかに
>>110 の状態です。念の為同じ状態を再現してみました。
http://up-load.ddo.jp/upload/data/up20188.jpg 再現は簡単ですが修正は面倒です。単に名前の変更/削除をした変数を元に戻す
だけではダメな場合があります。
まずクエやAIのConditionsの「GetQuestValiable」を全部確認して下さい。
変数名だけが消えて中途半端な分かり難い状態になっている可能性があるので、
クエ名と変数名が両方きちんと表示されているかよーっく見て確認、修正します。
念の為ResultScriptも「Compile」ボタンを全部押し直して下さい。
あとスクリプトも全部Saveし直してWarningが出ない事を確認する必要があります。
>>119 いやだから魔法効果が効くかどうかをGetInFactionで区別すればいいってことだよ
>>125 ありがとうございやす!
文面からしてなんとなく予想はできたので、
全てのてのいじったNPCのスクリプトとAIパッケ、
クエストスクリプト、TOPICのconditionsを延々と何度も全て確認してみたのですが、
他に何か見落としてる項目ってありそうでしょうか?
conditionsでクエスト名だけ表示されて変数がない状態は何度か見たことあるので
おそらく見落としてはいないとおもうんです...
すいません、質問2つです。
1,オブジェクトを単位時間ごとに大きくする処理をさせたい。
2倍以上にしたいので、SetScaleExを使います。単位時間毎に
以下のコードが実行されるよう書きましたが、大きさが変化
しません。(scaleの初期値は1)
ObjectRef.disable
set scale to scale * 1.1 ;倍率1.1倍
ObjectRef.setScaleEx scale
ObjectRef.enable
プレイ中コンソールから、getScaleで返される値は確かに
想定通り変化していきます。またコンソールからdisable->enable
するとその時点のscaleに応じた大きさで再表示もします。
何が間違っているのでしょう?
2.NPCに打たせる魔法で、既存魔法以外のものを予測射撃させたい。
現状、targetの過去現在の座標から、べたに計算して解決していますが、
NPCが既存魔法を予測射撃することを利用したスマートな方法など
ないでしょうか?
ついでに現状の成果です。jpg ⇒ wmv
http://up-load.ddo.jp/upload/data/up20210.jpg
>>127 うーん、これ以上はこちらでは見当が付かないです。申し訳無い。
後は切りの良い単位でごっそり処理を削除→Save→Load、の作業をWarningが消える
までやってみて、問題の個所の見当を付けてから細かく確認、みたいな方法がある
かもです。
また、単にespが壊れて見当違いなWarningが出ている可能性もあるかもしれません。
別ツールで修復、みたいな事が可能かどうかはよく分かりません。
>>128 1.について。
DisableとEnableは同じフレーム内で実行すると動作しません。
状態を反映させるのにそれぞれの関数実行後少なくとも1フレーム待つ必要があります。
特にEnableは状況によって必要なWaitのフレーム数が変わったりします。
結果Disable→パラメータ変更→Enableみたいなアニメーションは点滅してしまうので、
その対策にかなりの力技が必要だったりします。また、毎フレームのDisable,Enableは
システム的に少し危険かもしれません。
恐らくnifアニメで実現するのが安全確実でしょう。
2.について
弾の軌跡も全て自前で作った魔法に既存魔法の予測射撃機能だけを流用したい、という
事でしょうか。
だとするとその機能だけを取り出して使う事は恐らく無理なので、何かのSpellをCastして
ProjectileのRefを検出してその座標を見て…、みたいな間接的な方法になりそうな気が
します。スマートになるかは分かりません。その自作魔法が予測射撃の為にどんな
パラメータを必要としているか次第でしょう。
単に現行の火の玉や氷のモヤモヤと一緒に任意のオブジェを飛ばすのであれば、
同様にProjectileのRefを検出、GetPosして任意のオブジェにSetPosすればそのオブジェ
が飛んで行く様に見えます。
>>129 レス感謝!
まさにTopicごと削っても試してみましたが
原因特定できず
esp破壊とかありえるんすね;
とりあえず今の所は動作に支障はでてないので諦める事にしときます
うう、あとあとおそろしや
ポーズを作成しているんですが、 つくったポーズにアイテムを持たせるにはどうしたらよいのでしょうか。 Blenderでポーズを作成してからアイテムを読み込んで書き出しても そのままだと駄目ですよね? どのようにしたらよいか教えてください、よろしくお願いします。
133 :
128 :2008/11/16(日) 12:33:45 ID:sD35Ib94
>>130 お答えありがとうございます。
1.について、なるほど、よくわかりました。
nifアニメは触ったことがないけど、今後のために勉強してみます。
2.について、projectileの検出方法が現状よくわかりませんが、
(getNextRefの繰り返しで見つける?)CS Wiki関数仕様とにらめ
っこしてきます。
>>132 Idleアニメで手に持つオブジェはCSでObjectWindowのMiscellaneous→AnimObjectに
指定します。
>>134 教えてくれてありがとうございます!
既存のポーズMODのkfファイルを自作のものに置き換えるという
方法でやっていて、CSをいじったりしていなかったので不安ですがやってみます。
ありがとうございました。
>>128 しょーもない質問なんだがsetScaleExってOBSEの関数なの?
ともあれ応援してるので、完成したらエンチャントにして赤いキノコにでも
かけといてくれw
そういえば
Obseの詳しい拡張内容とかどこにのってるんだろう・・・
>>137 もデフォじゃないからOBSEっぽいなぁ・・・
>>139 (´-`)ごめんなさい
日本語ヘルプtpあとはobseまわりでひたすらぐぐってた
本家CSでしたかありがとう...
CSの質問なのですが、現在他人様の作ったMODで勉強中なのですが そのMODでローさんのパッケージが変更されているので それを元に戻そうとデリートしたところ、ローさんが存在しないというMODに なってしまいました。 原理、デリート=殺す ということだろうと理解できるのですが、 では、改変が無かったことにする場合はどうすればいいのでしょうか?
>>141 CSはoblivion.esmを強制的に読み込むから、
その消したローサンはオリジナルそのままのローサン
そのmodは知らないけど、おそらくオリジナルのローサンにパッケージを追加してやるだけのもの。
つまり、貴方が消したのはローサンそのものです。
パッケージの変更をもどすなら、その変更された該当パッケージしかいじっちゃだめです。
元に戻すのは全ての関連付けも経たれてしまっている以上
そのmod操作で戻すのはむりだと思うので、
そのmodは諦めてやり直した方がはやいかと
日本語おかしいそうでも勘弁
やっぱり、そうですよねIDを変更して別キャラクター扱いにして 何とかならないか、とも考えて色々とやってみたのですが いかんせんoblivion.esmを絶対に読み込むので無理でした。 了解です。ありがとうございました。 無理にローさんを生き返らそうとせずに、ほかの情報だけを空のESPファイルに移動させたほうが よさそうですね。
>>141 File>Data>Detailsから消せば?
消した後読み込んで保存すれば問題ないと思うけど
>>144 その方法は、いったんターゲットのESPファイルを読み込んでから
その操作を行うんですよね。
DetailsはESPファイルを丸々消してから保存ってことで良いのでしょうか?
TSEGekkoでNPCのフィールド(ローサンだけいけたかもしれんが)をそのModから消せば Oblivion.iniのが生きて生き返るんじゃないの? Modの中のコピー・デコピーで該当フィールドだけ消すってのあったはず。
>>145 手順は、まずesp読み込み→Datailsで該当個所をDel→もう一度同じespを読み込み→
そのままSave、です。
Detailsで「Del」して「Ignore」の印を付ける、というのは「その部分だけを次回読み込む
時に無視するよ」という意味です。
また、Detailsは、「つい間違えて変更してしまった」単独個所の修正は間単ですが、
他と関連のある個所をIgnoreすると連鎖的にトラブルを起こす可能性があります。
規模にもよりますが、人の作ったespをうまくIgnoreして再構成するのは地味に
高難度な気がします。
とりあえず試してダメそうだったらDetailsやツール類でデータレコードを直接弄る
のはやめて手動で作り直した方が安全かもです。
>>147 別な個所なら動作するのでしょうか。例えばその項目の指定をそのまま今動いている
個所に入れ替えてみたり。
基本的にIdleAnimationは指定が合ってさえいればどこに幾つ追加しても問題は無いと
思います。問題が指定内容なのか、何かの理由でその個所に異常が起きているのか、
それとも全然別な理由かをまず切り分けた方が良い気がします。
ゴブリンを使ったポーズを作ろうとしているのですが、リギングが上手く出来ません。 上半身や足は比較的成功しやすいのですが、手や頭部が全くリギングできずに困っています。 全く同じ手順で同じボーンを選択したつもりでも、インポートできる部位と出来ない部位が出てきたり… 手順は、 skeleton.nifをインポート POSE MODEでボーンを選択 Import Geometry Only + Parent To Selected にのみチェックを入れ 対応したchestやHandをインポート 手順自体が間違っているのでしょうか? パーツの少ないクリーチャーは問題なくリギングできているのですが…
>>149 レスありがとうございます。
ご指摘の通りツリー構造の問題ではなさそうです、
原因はまだつかめていませんが色々と試してみます。
ありがとうございました。
マックだから悩む必要ないかな
ゴバクですので・・・
>>150 いわゆるポーズ用の「素体」をBlenderで作ろうとして体の各メッシュをSkeltonにうまく
Import出来なかった、という事でしょうか。
だとすると最近のNifScriptなら「ObjectMode」でskeltonオブジェクト『だけ』を選択
した状態でその指定でImportすれば問題無いはずです。但しImportするたびにオブジェ
の選択状態は変わるので続けてImportする時は毎回必ずskeltonを再選択して下さい。
胴と足、左右の手はそれでOKだと思います。
ただ、頭だけはnifの構造が違うらしく、指定無しの単なるオブジェとしてImport、
回転を0にして位置をBip01Headと同じにしてから頭全部をBip01Headにassign、
みたいな手動でのスキニングが必要だと思います。
また、ボーンの連結を指定し直したりするリギング一般の話でしたら前スレに
ゴブアニメの.blendのサンプルがあるのでよかったらご参考に。
でもIKが適当でボーン名も2個所ぐらい間違っていたと思うのであくまでサンプルとして。
自作の武器にエンチャント付き時の発光をさせたくありません。 しかしMagicEffectのいじり方が分かりません。 新規作成は出来ないようなので適当なエフェクトのCounterEffect欄に追加したいと思っているのですが Drag&Dropは出来ないのでしょうか。
服や鎧などの一部分をはぎ取りたいのですが、どうすればはぎとれるんでしょうか? blenderで装備品のbifを読み込んで剥ぎたい所を消してみてもうまくいかなかったので・・ よろしくお願いします。
>>155 ありがとうございます。
色々と勘違いしておりまして、おっしゃる通りポーズ用の素体が作りたかったのです。
お陰様で頭部以外のインポートは問題なくできたのですが
エクスポートしたnifを改めてインポートしてポーズをとらせようとすると
関節がバラバラに動くと言うか、例えば肘を曲げようとすると
肩と手は動かずに肘だけネチャッと捻れてしまいます。
他のクリーチャーだとこんな事にはならないのですが…
>>156 CounterEffectは多分変更出来ないでしょう。またそれがエンチャントの見た目に
関係あるかは謎です。武器防具に付く視覚効果はそれぞれのMagicEffectの
「EnchantEffect」で指定されています。
但し、そこを変更するとそのMagicEffectを使っている個所全部に影響します。
それを避けるにはEnchantmentを視覚効果の付かないScriptEffectにして、実際の
エンチャントと同じダメージと効果をScriptで、みたいな方法になると思います。
具体的にはエンチャ内容次第なので必要ならまた別途。場合によっては少し面倒に
なりそうな気もします。
他に何かもっと手っ取り早い方法がありそうな気もするのですが。
こんばんは。 オリジナル装備の誘惑に駆られて、先月からblenderを使い始めたものです。 いま、ワンピースのように裾の長いシャツに挑戦しているのですが インベントリに入れてクリックすると、装備効果音と同時にCTDしてしまいます。 メッシュは、既存のメイジローブを元に、削ったり押し出したりして作ったものです。 以前CTDの原因になったScaleは、1になっているのを確認しました。 ゼロから作ったAmulet属性の帽子や、人型上半身から作ったタンクトップだと問題は起きていません。 試しに問題のシャツのメッシュファイルを、弄らずにエクスポートしたメイジローブのものに取り替えると リテクスチャ装備として普通に使えました。 これにNIFScopeで、シャツの一部をペーストで追加すると、今度はCTDを起こします。 原因は改変したメッシュにあり、弄っていないboneの設定ではないかと思うものの、どう手を加えたらよいのか分かりません。 設定の仕方、変え方そのものは知ることが出来たのですが…… 以上のような状況ですが、私の方がすっかり煮詰まってしまった感じがしていて 何かアドバイスを頂ければと思います。 何が原因で、どこに注意すれば良いのでしょう? どうか皆さんの知恵をお貸しください。 よろしくお願いします。
長文で説明するのは感心だが、 そのメッシュをうpするのが一番早いぞ。
よくある多重boneではないかとエスパー
>>158 ボーンを回転させたのにその先のボーン群が一緒に回転しない、という事なら
何かおかしな事になってます。
とりあえずゴブポーズ下準備の例です。我流ですが。
1) skeltonをImportする
2) 胴、足、左右の手をImportする(頭はとりあえず今はいいです)
3) skelton以外を全部選択して適当な名前のnifにExportする
4) Newして今度はskeltonとネタになる適当な.kf(Idle.kfとか)を一緒にImportする
5) 3)のnifをImportする
これでゴブがその.kfの動きをすれば多分OKです。そのまま.kfをExportしてゲーム
でも正常に動くか一度確認して下さい(4-5の手順で任意の.kfが手早く読めますから、
3で作ったnifは取っておいて下さい。また、これ以降の作業は.blendでセーブして
OKです)。
後は途中のキーフレームを全部取って最初と最後のフレームを同じポーズにして.kfを
Exportすれば静止ポーズの.kfの出来上がりです。
また、キーの挿入が「LocRot」だと結果がおかしくなるかもしれません。色々試して
下さい。正直その辺の理屈は良く分かりません。定石が見つかったら是非教えて下さい。
その他、.kfをCYCLE_LOOPに書き換えたり、begin/endの再指定が必要だったりする
かもしれません。その辺はオリジナルのIdle.kfと見比べて修正して下さい。
キーフレームの編集や頭のスキニング、ボーンをIKに、等は純粋にBlender操作の話
なので解説サイトを見るのが早いと思います。
間違ってました。 >その他、.kfをCYCLE_LOOPに書き換えたり、begin/endの再指定が必要だったりする 誤) begin/end 正) start/end です。NifSkopeで.kfのNiControllerSequenceやNiTextKeyExtraDataを修正する話です。
165 :
156 :2008/11/22(土) 01:19:46 ID:vKlI0ez0
166 :
156 :2008/11/22(土) 01:21:25 ID:vKlI0ez0
すいませんっっ
>>159 やはり単体だけエフェクトを向こうには出来ませんか。
ありがとうございます。
お教えいただいたように
スクリプトを付けることを考えていこうと思います。
付けたいエンチャントはAbsorb Healthか Magicka です。
CS HELPでざっと見ただけですが
begin OnHitWith ObjectID
の後に続けるモノの見当が付きません
体力を吸収すると言うfunctionが有ればいいのですが
代わりにspellをかScrollを使うと言うのがありました。
これでいいのでしょうか?
そしてそのまま閉じてしまっていいのですか。
167 :
160 :2008/11/22(土) 01:32:24 ID:iOyQO/uf
早速のご返答、ありがとうございます
ご指摘のあった通り、CTDを起こすファイルを上げました
重ねて、お力添えをお願いします。
http://up-load.ddo.jp/upload/data/up20494.bmp (nif)
>>161 それはそうですねorz ありがとうございます
阿呆ほどファイルサイズが膨らんでるのと
今はサイトを閉められた方のデザインを勝手に装備化しているため、二の足を踏んでしまいました。
>>162 エスパーありがとうございます
多重bone…初耳です。とりあえずboneそのものにダブりはないようですが…
不勉強なので、これからよくよく見てみます。情報感謝。
>>167 見た感じスキニングされてないね。
blender Armatureかblender skinningあたりでぐぐって勉強しましょう。
装備作りでもっともめんどい作業です。
上を理解したら
Bone Weight Copyもぐぐりましょう。これを覚えると作業がずっと楽になります。
Northmarkerてのは、矢印の向きが、 南→北 と思っていたけど、 南←北 で設置されてるのがあるようで、どっちが正しいんでしょう。 Northmarkerの向きは絶対値としてはあんまり意味ないんですか? 相対的にはTeleportドアを挟んで繋がってる2つの部屋で、Northmarkerの 向きが大きくずれてるとドアのActivateできる領域がおかしくなったり するみたいですけど
>>166 「begin OnHitWith」はObjectScript用のブロックです。ScriptEffectは
MagicEffectScriptなので「ScriptEffectStart」等の専用のブロック群を使います。
で、実際のAbsorb〜を使わずに代替処理でいわゆる「ライフ吸い」「マナ吸い」が実現
出来ればOK、という事であれば比較的簡単に出来るかもです。
DamageとRestoreのAbilityを用意して、ScriptEffectStartで相手とプレイヤーに
AddSpell、ScriptEffectFinishでRemoveSpellすれば行けるでしょう。視覚効果も
必要ならPlayMagicEffectVisualで。ただ、回復量の調整は工夫が必要かもです。
また、Hitした瞬間にパッと回復させるのであれば、ScriptEffectStartで自前で
レジスト等の計算をしてOBSEのModActorValue2で双方のステータスを加減算すれば
行けると思います。回復量の加減はこちらの方が多分楽でしょう。
>>170 Verを全部そちらと同じにして1-5の手順をやってみましたが動作しました。
何でしょうね。後はオプションをもう一度確認してみたり、別なnifをImport/Export
だけしてみて壊れたりしないか確認したり、でしょうか。
ゴブポーズ例のSSです。
http://up-load.ddo.jp/upload/data/up20509.jpg オリジナルがあまりにカッコ良かったのでつい真似をしてしまいました。スミマセン。
作った人本当にごめんなさい。ほんと朝から何やってるんでしょう全く。
173 :
166 :2008/11/22(土) 11:26:06 ID:vKlI0ez0
>>171 こんなに詳しくありがとうございます!
Midasもスクリプトを使っていると言うのを他の版で見かけましたので
それも参考にスクリプトの形になるようにやってみます!
特殊な武器を作っていて、その効果を確認したいのですが、敵の攻撃力や 防御力まで含めた詳細ステータスを表示するコンソールコマンド等ありますか? wikiやwebの情報もぐぐってみたのですが見つけられませんでした...
うーん 何も考えても何もいじってないのに 以前は機能してたNPC同士のConversationが繋がらなくなってる・・・ この辺はシビアなのはよく聴くけど、 何もいじっててもおかしくなるようなことあるのかな それと、NPC同士がしゃべってるときに近くで他のNPCがしゃべると会話がそっちにもってかれて 止まったりとかするのだけど これは避けようがない? 遊びでいじりだしたけど 悔しくて止まらなくなってきた・・・
176 :
175 :2008/11/22(土) 20:16:21 ID:vy/Zt6L5
うーん >何も考えても何もいじってないのに >以前は機能してたNPC同士のConversationが繋がらなくなってる・・・ >この辺はシビアなのはよく聴くけど、 >何もいじっててもおかしくなるようなことあるのかな ごめん日本語がやばかったれす 前半↓こっちでおねがい どう考えても何も変更してないのに 以前は機能してたNPC同士のConversationが繋がらなくなってる・・・ この辺はシビアなのはよく聴くけど、 どこも変更してなくてもおかしくなるようなことあるのかな それとも、直接影響してなそうだけど NPCのAIまわりとかで影響しちゃってるとこがあるとかありますか?
>>174 コンソールで「tdt」、「sdt 9」でアクターのパラメータは出ます。でも、いわゆる
「攻撃力」や「防御力」みたいなのは無いと思います。
ダメージ計算はHit時に双方の色々な基礎パラメータを元に最終的なダメージ量を
一度に計算しているみたいです。計算式はCSWikiで「fornula」を検索してみて下さい。
>>176 恐らく気付かずにどこかを変更したのでしょう。それか動いていたのが実は偶然だった
のかも。普通によくあります。
他のNPCと世間話をする/しないはその時動いているAIパッケージのFlagsの
「SkipFalloutBehavior」で指定します。StartConversationでの会話中もその指定が
有効かどうかは謎ですが。
>>178 レスthx
いやーどう考えてもどこもいじってなくて・・再確認してもおかしいとこないんですよ・・・
で、会話を始めたあとtdtで調べてみると
双方ともにお互いをターゲットしてて
dialogueってモードになってるのだけど
最初に話しかけた所から進まないという・・・
一応英語のCSも見てallow repeated〜とか、変数で段階ふんで、run immediatelyとかやってるんですわ
以前何度試してもできてたので検討つかなくて(´;ω;`))
180 :
160 :2008/11/23(日) 00:28:40 ID:KspJ2rGb
>>168 チェックして頂いてありがとうございます!
お陰さまで、無事に装備させることができました
BoneWeightCopy。これは良いですね。しっかり覚えたいと思います
本当に、ありがとうございました。
>>177 ありがとうございます。
「tdt」、「sdt 9」は試していたのですが、大雑把だったのでもっと細かな
ステータスが表示できないかと思っていました。そうですか、毎回計算して
算出しているのですね。
fornulaも見て、確認が難しいようであれば別のわかりやすい手段で効果を
実現した方がいいかもしないですね。
>>177 ですが、「fornula」って。正しくは「formula」です。
何語なんでしょうね「フォーヌラ」。なんか新クリーチャーみたいです。
検索して見つからなかた人ごめんなさい。失礼しました。
184 :
176 :2008/11/24(月) 02:31:07 ID:Vy/ZZJhY
試しに全く同じ構造で同じ変数を使った会話を新規NPC二人と共に試してみたところ機能していたので、 再確認の上、元のつながらなくなった会話をこのNPC二人にGetIsIdのみ置き換えてみた所、 やはり機能しなかったであります。 どう考えても何かが壊れてるとかそんな気がするのだけど、 そんなことってあるんですか・・・ お手上げすぎる...
185 :
184 :2008/11/24(月) 02:47:56 ID:Vy/ZZJhY
追加: ちなみに正常に動作したものにおかしくなった会話のところからコピペでセリフだけ写してみたところ動作せず、 挙句、そのテキストを削除して元の動作していたセリフに戻しても直らず正常に動作しなく・・・ もしかして、conversation機能自体BGM再生みたいに未完成で不安定とかですかね ちなみに、テストに使用したセーブデータは勿論該当esp導入以前のもので、ゲーム開始直後の白紙データ
>>183 二枚目のSSは近くに寄った状態でしょうか。異常個所が良く分かりませんでした。
一般的に、.ddsが無い/フォーマットが違う/壊れているとその部分がゲームでは
マゼンタになる事があります。距離で地面が部分的になるのなら地面テクスチャの
どれかのmipmapがおかしいのかもしれません。
>思い当たるテクスチャはすべて入れなおしてみましたが直りません。
テクスチャを入れ直す、という状況が良く分からないのですが、もしテクスチャの
bsaを展開した状態でゲームやCSを実行しているのなら、data\textures\landscapeに
異常が無いか確認を。または消してみたり。地表の見た目変更系のMODを入れている
のなら一度全部アンインストールを。
>>184 ちょっと状況が不明すぎてなんともなのですが。
曖昧なCS操作をするとespが挙動不審になったり壊れたりすることはあると思いますよ。
Warningを放置したり、参照関係を壊すような削除をして気付かず放置したり。
私もどう考えても挙動不審な謎espが出来上がり、ハマってさんざん悩んだ挙句に
単に作り直したらサックリ動いた、てな経験はあります。
とりあえず新規にNPC二人とその会話だけのespを作って、コピペすると動かなく
なる状態だけを再現してみるのが良い気がします。その状態で動かなくなる条件を
追い込んだ方が確実でしょう。
あと「BGM再生」というのは「StreamMusic」の事でしょうか。
だとするとその関数は非公開なので実装途中で未デバッグの可能性がある特殊な例です。
それを普遍化して自作MODが動かない理由とするのは少し無理がある気が。
それにStreamMusicなら使用条件が厳しいだけで動作自体はOKみたいです。
188 :
183 :2008/11/24(月) 19:20:56 ID:hCGxOSIc
>>186 治りました!治りました!ありがとうございます!!!
質問を上げる前にテクスチャ改善系を使っていた為、
とりあえず手動で上書きし直したのですが、治らず。
レスをいただいてもう一回見直したらomod化していたのに気がつきました。
外したら治りました。
諦めてoblivion再インストールしようと思っていたところでしたので本当にうれしいです
また少しずつmod作りに挑戦してみます。ありがとうございました。
アニメーションスピードについて質問です。 現在モンスターを作成中なのですがクリーチャー属性ではなく NPCで作っているため結構スタスタ歩いてしまいます。 固有のNPCのみ、動きをスローにする方法はありますでしょうか? NPCの中のAnimatonタグの中にAnimatonSpeedというボリュームはあるのですが いじっても情報が保存されません。何か方法があるでしょうか? 本当はゾンビのモーションを移植したかったのですが、スケルトン構造が違っているようで キャラクターが崩れてしまいました(涙)
>>189 Animationタブのスピードを弄る部分は、プレビューで見る時だけのものだからね。
たぶん再生スピードとかを実質的に反映させるためには、
既存のクリーチャーのパラメータ(スピード値)と同じにするしかないんじゃないかな。
レベル変動するのでなければ、クリーチャーからコピペるくらいで十分かと。
>>187 レスありがとう
今日も帰宅してからずっといじってたけど原因不明だったのであきらめたよ・・・
CSでStreamMusic辺りは公式の動作保障はないみたいのみたので、
Conversationとかも安定してないのかなとなんとなく書いてしまったのだけど、
人括りにしたのがまずかったようで・・・申し訳ない
何にせよまったく謎のままespすてましたわ(´・ω・`)
それ
ああ、なぜしょっちゅうorz なんで間違えて送ってしまうんだろう・・・ 似たようなの?うちもなったけど解決できなかったから投げたっす お陰で本編会話の大方がぶっとんで相当やりなおし○....rz 個人的にはどうもその会話主のNPCが影響してそう そんな色々試してないので 根拠ってほどじゃないですけど、 なぜかそのStartconversation主?がリンクさせたい対象NPCに対して無反応になったから。 ゲーム中コンソール使ってStartconversationしても、 他のNPCには話しにいくのにその対象NPCにだけは無反応になった。 原因不明でしたっす まあ自分未熟なんでわかってないだけかもしれないですが・・・ だいぶ昔に完成させてて 久しぶりに連動させてみようと動かしたら壊れて?ました。 ○.....rz
refは固有リファレンスである必要があります つまり武器のObject IDではなく世界に配置されたときに 割り振られるリファレンスIDを指定して固有の処理を行う必要があるわけです でリファレンスを取る方法ですけどそのスペルがエンチャされている武器を使った人が 今装備している武器(=スペルエフェクト付の武器)を取る様にしてやればいいんじゃないでしょうか もっとも世界に一つしか無いユニークな武器て言う事であればマップに 配置して固有リファレンスを定義しそれをスクリプトに指定してやればおkです
196 :
193 :2008/11/25(火) 02:10:12 ID:kjVAXiUK
便乗っぽい感じですいません・・・・ 嫌な予感がして 過去に完成済みのConversationを片っ端から動かしてみたら 全部つながらなくなってたのですが・・・・ といってもこれだけでわかるわけないっすよねorz なんか積み上げてきた物が全部崩れたっすorz
近接型と魔法型のコンパニオンを同時に使うと、後衛の魔法は敵よりむしろ味方に当たる・・・ というわけで、敵に当たるとダメージ、味方に当たると回復というスクリプトエフェクトの魔法を 作りたいのですが、CSヘルプをみてもスクリプトについてよく理解できず・・・ Hitした相手のFactionを検出して、PlayerFactionなら回復、それ以外ならダメージという 漠然とした構想はあるのですが、実際にスクリプトに起こせません。 判りやすい解説サイト、あるいは実際にこんなスクリプトでいけるとおわかりになる方、教えてください。
つCSヘルプ 最低限ファーストステップ?辺りは全て読んでおかないと概念が掴めないと思います
チュートリアルだた とにかくチュートリアルは全て一通り読んでおくと朧気ながら 世界の仕組みが理解出来ると思います 先ずはそこから始めてくだしあ
>>195 ありがとうございます。
ユニークな武器なんですが、リファレンスIDは世界に配置した時に動的に
決まるのでしょうか? 条件が整うと出現するようにしているので、動的に
決定されてるなら直接書くよりは今装備している武器のリファレンスIDを
引っ張ってくるようにした方が簡単そうですね。
16進数のFormIDは勝手に割り振られるけど、 リファレンスIDは配置したそのブツに主導で割り当てないといけん。 つかWikiのCSチュートリアル読め。まさにその話も書いてある。
362番か つか、1のデータ集は公式では取り扱わないのかな あまりいろんなところでホイホイと買い物したくないのだが
誤爆すまない
>>189 NPCの場合、種族毎にCharacter→Raceの「Spd」で速さの基本値を指定します。
また、レベル固定の場合は各NPCのStatの「Spd」でも個別に指定出来ます。
でも変化の幅はあまり大きくありません。個別NPCの歩く速さだけを遅くする方法は
良く分かりません。可能なんでしょうかね。。
で、ゾンビのforward.kfをヒトskelton用にやっつけで改造してみました。
http://up-load.ddo.jp/upload/data/up20668.jpg (wmv)
Blenderでヒトskeltonと一緒にImportして左右のUpper/LowerArmTwistの回転を全て0、
Bip01のRotZを-90にすると形になるみたいです。後はNifSkopeでNiControllerSequence
をヒトのそれに合わせただけです。
動きが速すぎですが。その辺がなんとかなればゾンビごっこが出来るかもです。
>>194 「ModEquippedCurrentCharge」はどうでしょう。装備している武器のチャージ量を
加減出来るみたいです。こんなかんじで使います。
Player.ModEquippedCurrentCharge xxx 16 (xxxは増減させる値、16は武器Slot)
チャージ量はMaxと無関係にいくらでも増えるみたいなので必要なら対策を。
「ModEnchantmentCharge」はEnchantmentそのものを変更する関数な気がします。
使った事無いですけど。
また、OBSEで「ObjectID:ref」とある場合の「ref」は引数が「ref型」という意味です。
「リファレンス」の意味では無いです。
困った事にリファレンスもベースも見た目の型は同じ「ref」で、どちらも「オブジェクト」
と呼ばれます。ほんとややこしいです。
多分この関数の場合は、「Enchantmentの(Base)ObjectID」の意味でしょう。多分。
会話の件はほんと何でしょうね。 Infoをリンクで繋ぐ方法は例えばMS29とかMSConversationsのクエでやっているので それ自体には問題は無いと思います。 あと怪しいとしたらGREETINGでしょうか。 GREETINGを色々弄った場合、自分のespだけなら問題無いのですが、他にもGREETINGを 弄ったespを同時にロードするとコンフリクトが起きる事があるみたいです。 GREETINGを変更した場合は関係無いTopicに影響が無いか確認してみて下さい。 他の既存Topicを弄った場合も同様です。連投失礼。
207 :
>>196 :2008/11/25(火) 21:01:01 ID:kjVAXiUK
>>206 レス感謝っす
ゆうべあれからもうちょっといじって
それから、今もちょっといじってみましたが
仰るような重複や手順的な落ち度は間違いなくないと言い切れると思います。
どうもCSでは触れないNPC情報?のようなものが壊れたとか
espそのもののconversation機能、既存のものには影響しない?
がおかしくなったとしか考えられなくて・・・
GREETINGのコンフリクトの特定のトピックですが、
どう考えても既存のものはいじるわけないですし、本当に原因不明です。
もうどうしていいのやら、
正直やりなおすなんてとても無理なレベルに膨大なデータになってしまっているのでorz
208 :
>>196 :2008/11/25(火) 21:02:24 ID:kjVAXiUK
3段落目 日本語がおかしかったので一応 補完おねがいっす >GREETINGのコンフリクトの特定のトピックですが、 ↓ >GREETINGのコンフリクトが特定のトピックに影響するかもというお話ですが、
>>201 ありがとうございます。
CS Wikiは関係ありそうな部分だけつまみ食いしていたので…。
ちゃんとチュートリアル勉強してきます。
>>205 ああ、まさしく「ModEquippedCurrentCharge」で実現出来ました!
チャージ量は確かに上限超えてしまうのですが、武器の性質上問題無い
範囲のようです。ありがとうございます。
おかげさまで今週中にはベータ版公開にこぎつけられそうです。
感謝!
>>197 です。
アドバイスありがとうございました。言われたとおりにCSヘルプ読み返して
実際にゲーム内で使われている魔法のスクリプトなどを見てみました。
結果、castコマンドは使えないことがわかりました。
AddSpellコマンドで回復orダメージのAbilityを追加してやるしかないわけですが
これだと効果を受けるたびに「〜が追加されました」のメッセージが出てしまいます。
このメッセージを出ないようにするやり方があるとどこかで読んだ覚えがあるのですが
どなたかわかる方教えてください。
〇〇を装備しました 〇〇は装備できません だたら message " " message " " て感じで空メッセージ2回連続で呼ぶと表示をキャンセルできるけど魔法はどうだろ?
レスありがとうございます。試してみます。
派生版 名詞日本語化 MOD 製作者のしとしんです。 日本語化したいのですが私の知識ではなんとも分からず頓挫している所があります。 分かる方どうか教えてください。m(_ _)m (1)クリーチャーを召喚すると、そのクリーチャーは画面上で「召喚者's クリーチャー」という 名前になりますが、この「's」を変更するにはどこをいじればよいのでしょうか? 「が召喚した」とかの日本語にしたいところです。 (2)投獄後服役した後に、スキルなどが低下したメッセージが表示されますが、 「〜スキルが低下した by 1.」となります。この「by」を変更するにはどこをいじれば? 「:低下量」とかの日本語にしたいところです。 (3)ジャーナルや休息画面などでの「〜月 17, 3E434」、クエスト説明画面での「2nd of 〜月, 3E434」などの 日付表示を「3E434年〜月〜日」に変更したいのですが、どこをいじれば…? よろしくお願いします。
たまには自分好みにでも ってことでコンパニオンいじってみてるんだけど、 GREETINGってデフォのいらない挨拶とかは強制で出ちゃいますが これってやっぱりいじったらやばいんですよね? どうしても避けるとなると、 GREETING使わずにTOPICを発言するように仕向けるしかないってことでしょうか?
215 :
214 :2008/11/27(木) 01:08:35 ID:lw/VBdBU
事故解決してすいまそん 思ったとおりトピックを話すようにしらGREETING無視できました
>>213 そういう名前はGMSTじゃないかな
日付の日本語化はDays&Monthsがあるから調べてみたけど
sMonth〜やsDays〜の項で定義されてた
IvellonのElven Fireみたいに直接魔法が発動するマジックエフェクトに興味持って 自作でも使ってみたいと思ったんですが、例えばElven Fireのエンチャントで scn 01IvElfenfeuerScript ref target begin ScriptEffectStart set IvElfenfeuerGlobal to IvElfenfeuerGlobal +1 if IvElfenfeuerGlobal >= 10 PreloadMagicEffect RSFI PreloadMagicEffect FIDG if player.getequipped IvElfenfeuer BlessedWeaponEnchGun2.moveto player 0 0 100 ~~~~~~~~~~~~~~~~~~~~~~~~ BlessedWeaponEnchGun2.cast 01IvElfenfeuerResistance player ~~~~~~~~~~~~~~~~~~~~~~~~ endif ~~~~の部分は何を示しているのでしょうか? スクリプトにもどこにもそれらしいものがないのですが?
固有リファレンス
リファレンスIDじゃねーの?
>>213 (1)、(2)はシステムにハードコードしてある気がします。
(3)はdata\menusのXMLにそれっぽい指定はありますが、その指定文字列は解釈されて
いないみたいです。これも決め打ちな気が。
>>217 Edit→FindTextで「BlessedWeaponEnchGun2」を検索すると多分見つかる気が。
何かのオブジェクトのリファレンスでしょう。それをプレイヤーの側に移動させて
何かの魔法をプレイヤーに向けて撃たせているみたいです。
色々ありがとうございます 02IvellonControlRoomに置いてあるXMarkerがBlessedWeaponEnchGunですね 勉強になりました
二つほど質問させてください 一つ目はaddspellなどのadd系命令の使い方について 例えば攻撃を当てた側ではなく当てられた側に呪文等を追加したいのですが こういう風に対象のIDが可変する場合について処理する書式はありますか? もうひとつ、特定のモーション(剣を振る)やプレイヤーの行った キー操作を検出する命令はあるのでしょうか?
>>216 GMSTというのが、よくわかりません(;_;)
>>220 う〜む、日本語化はあきらめざるをえないか…
他にも情報がある方よろしくお願いします。
>>225 World メニュー
World Space...
EditorID
ICElvenGardensDistrict
Name
Imperial City, Elven Gardens District
ちなみにしとしん版だと
帝都_エルフの園地区
てなってた
>>226 やっぱりそこですよね。
変えたんだけど表示かわらないのは別のMODが絡んでいるのかなぁ
でも問題のModをBOMMで外すとしとしん版を入れているので「帝都_エルフの園地区」になるんですよね
うーむなぞー
原因わかりました。新規ではじめると表示されました。 すでに存在した状態だったデータから始めると表示されません うーむ、これって何か回避する方法ないでしょうか…
Blender2.45でExportしたNifファイルの不具合で質問です。
装備を作成しようとしているのですが、
NifファイルとしてExportした物をNifskopeで開くと画像のように
0 NiNode>1 NiNode>NiTriStripsやボーンという具合に不要な1 Ninodeが出来てしまいます。
これをBlock>Flatten Branchで必要な物を0 NiNode下に持って行き、
1 NiNodeを削除しているのですが、この方法で出来たNifファイルは
Oblivion上では正常に動いているようなのですが、再びBlenderにImportしようとすると
AttributeError: 'NoneType' object has no attribute 'children'
とコンソールに出るエラーでImport出来なくなります。
1 NiNodeが出来る出来ないはBlender上のどこかで不味いことをしているのだと思いますが何が不味そうでしょうか?
ttp://up-load.ddo.jp/upload/data/up20732.jpg ttp://up-load.ddo.jp/upload/data/up20733.jpg 下はoutlinerのSSです。
>>223 AddSpellの書式は 「[ActorID.]AddSpell SpellID」 です。
任意の相手にAddする場合は「ActorID」(この場合アクターのリファレンスID)を指定
します。変数も使えたと思います。
また、再生中のアニメ、キー操作を検出するファンクションは幾つかあります。
「animation」、「input」をCSWikiで検索、それっぽいのを実際に使って用途に合うか
試してみるのが早い気がします。
>>225 ワールドマップのマップマーカーの名前はそのマップマーカーのReference→MarkerData
で指定します。WorldSpaceのNameはドアの行き先表示等に使われます。
特定のMODを入れるとマップマーカーの名前が元に戻ってしまう場合はそのMODでマップ
マーカーの位置等を変更している可能性があります。
変更を無かった事にするか、MarkerDataをそのMODで指定し直せばOKな気が。多分。
新規で始めると表示される、というのが良く分かりませんが。
>>231 Aの箱にAの武器を入れた後 ゲームスタート セーブ
CSでAの武器をAの箱から取り除き Bの箱に移し変えて セーブしたところから再開。
するとなぜかAの箱にAの武器が残っている という現象が起こる。
たしか、いろいろと残ってしまうんじゃなかったかな?
新ランド作ってドアをつなげた後 セーブ CSでドアを大幅に位置を移動 再開 すると前の位置にドアがあったりと。
ドアとかコンテナの類の位置情報は一度ゲーム中でロードされてしまうと セーブデータの中に残ってしまうそうな
>>229 ポーズ作成用の各ボーンが連結されたもの(efgAddPoseなど)を使っていると
こうなるような気がします。
Scene Root;00に見覚えがあるような。
>>232 以前の状態のセーブをロードすると変更が反映されずに以前の状態が残る場合がある、
という事は確かにあります。
でも
>>225 さんの場合は恐らく「以前の状態のセーブ」をロードすると名前が英語になって
新規にゲームを始めると「(以前と同じ)日本語になる」、という逆の現象の様なので。
恐らくテストラン時に使っているセーブデータが以前のVerのその自作MODを含んでいて
何かの不具合が起きている可能性もあるでしょう。
ですから、とりあえず念の為関係する個所にもう一度同じ日本語化の変更を加えて
おけばOKではないか、という事です。
その上でそのMODを含まないセーブをロードしてみると恐らく大丈夫だったりする
でしょう。
>>230 ありがとうございます。つまり例えば打撃を当てた相手のIDをGetCombattarget?などで取得して
それを変数に格納、つぎにその変数+addspellといった感じでしょうか?
あと、モーションおよびキー判定のほうも検索していろいろ試してみることにします
>>237 >ScriptEffectのエンチャントならHitの検出もRef取得も元々必要無いのですが
そうなんですか?scripteffectのenchantで
begin scripteffectstart
addspell spellID
こう組んだscriptを武器のエンチャントに設定して殴ってみたところ、自分の魔法欄に魔法が
追加されてしまったので、何かで対象を指定しないといけないのだと思い込んでいました。
つまりこちらの組み方に問題があったということなんですね
何かすごい初歩的な勘違いをしてる予感
239 :
229 :2008/11/29(土) 09:08:15 ID:+uTdH7Ij
>>234 ありがとうございます。
今回はHGECの素体なので、ケースは違いそうですが、そういうこともあるのですね。
Blender上でScene Root00,Scene Root01などが作られる理由は分かるのですが、
Exportする時に分かる範囲で不要な物は全部削除しているので、原因がわかりません。
既存の装備MODをいくつかNifskopeで見てみると、Scene Root 00が最初の階層に
なっている物があったので、試しに0 NiNode:Scene RootをRemoveして
1 NiNode:Scene Root 00を先頭に持ってきたら、Blenderでも
再Importできるデータになりました。
これでいいのかどうか判断できないのですが、
ゲーム上でも特に問題なさそうな感じなので、これで進めてみます。
>>231 ありがとうございます。無事に書き換えできました、
以前からビュアー上に出ている「赤いX」気になっていたのですがこれだったんですね。
しかし、何で新規ではじめたら表示されていたんでしょうなぞです。
>>232 おっしゃるとおりセーブデータにいろんなことが保存されているようですね
私の場合しょっちゅう殺されてしまうNPCをエッセンシャルに変えてもエッセンシャルにならなかったり強いことがありました。
毎回出会う前までセーブデータを戻すかMODをはずすかしないといけないの何とかならないとちょくちょく修正して確認が静楽ですよね
>>240 赤いX印は、ただの「エックスマーカー」だと思う。
マップマーカーは黄色いクチバシのついた「赤い」直方体なんじゃない?
Configuration Keys:Exportは一度kf/nifでエクスポートすると出てきます 恥ずかしがりやさんなのでしょうか nif/kfファイルにエクスポートする方法は2つ 1.Blender2.4.1+Blender nif scripts1.5.7 ・利点 kfextractorで設定ファイルを作っておけばkfファイルを弄る必要はない ・欠点 Configuration Keys:Exportを設定する必要がある kfextractorをかます必要がある フレーム数が多くなるとエクスポートできない その他細かいバグがある 2.Blender2.4.5以上+Blender nif scripts2.3.13 ・利点 kfextractorをかます必要ない Configuration Keys:Exportを設定する必要がない 多くのバグが解消されている ・欠点 エクスポートしたkfファイルをnifskopeで再度設定しないといけない 2.の欠点があまりにも煩わしいので私は1.の方で作っておりますです
244 :
242 :2008/11/29(土) 22:17:35 ID:nawiLooG
>>243 キタ━━━━ヽ(`エ´ )ノ━━━━!!!!
ありがとうございます。出来ました。
1の方法で試してみました。
blender_nif_scripts-2.3.5版を1.5.7版に変えて
適当なポーズをkf/nifでエクスポートした後で
Scripts Config Edを選択してから左側の□ボタンをクリックしたら出てきました。
いや〜隠れてるなんて凄い仕様だ・・・orz コレハワカラナイヨ
>>238 SpellReflectChanceで反射されているのではないでしょうか。
そのScriptEffectを反射されるとプレイヤーにAddSpellされると思います。
コンソールで相手をクリック→「setav spellreflectchance 値」 で0と100とかを指定
して試してみるといいかもです。
反射されるとマズい処理の場合はGetSelfでチェックが必要でしょう。
すみません どうしても解決できませぬので、二つほど質問させてください ・特定のコンテナからランダムで装備品を選んで装備するような動作をする方法はありますか? obseのコードもざっと見てきたのですが それらしい事ができそうなものが見つからなかったようなので・・・ 勿論該当コンテナに入っているアイテムが決まっているのであればrandompercentあたりで対応できそうなのですが、 完全にその時々に突っ込まれている物をランダムで装備みたいにしたいのです ・StreamMusicの再生なのですが、 たとえばStreamMusic "test1"を再生しているのをゾーン移動をせずに停止させようと、 StreamMusic "test2"をStreamMusic "test1"の再生中に実行したりしてみましたが、 なぜか再度StreamMusic "test1"が初めから再生し直されてしまい困っています。 最初の曲が止められればもう手段はなんでもよいのですが どうも仕様というか避けられなそうな気もします。 何か解決策がありそうでしたら教えていただけるととてもとても助かりますorz
>>246 ・コンテナからランダム装備について
まず、システム的に自然な方法はFindパッケージでAnyObjectを指定してNPCが拾うに
任せる方法でしょう。
但し、相手がコンテナの内容物の場合は謎な部分があるので充分なテストが必要です。
自前で全部処理をする場合は、大筋としては例えばGetInventoryObjectでコンテナ内容
をスキャンしてIsArmor等で種類を判別、コンテナからRemoveItem→NPCにAddItem→
EquipItemみたいなかんじでしょうか。やった事無いですが。
でもAddItemする場合は新品の別物になりますから、もし耐久やチャージ量の維持が
必要でしたら非常に厄介かもです。またスクリプト付きアイテムも問題があるでしょう。
耐久やチャージ量、スクリプトの変数を維持したままアイテムを移動出来るのは
AIで拾わせるかRemoveAllItems、RemoveMeした時だけだった気がします。確か。
・StreamMusicについて
一度「StreamMusic random」を実行してから別な曲をファイル指定すればOKかもです。
randomの指定後どのくらいWaitが必要かは謎です。
すみません、以前どこかで1枚のメッシュにテクスチャを両面張りにする方法を見たのですが メモを忘れてしまって思い出せません、どなたかご存知でしたら教えていただけませんでしょか
>>248 NiStencilPropertyで過去ログ探せ。
ゲットしました。ありがとうございます。
>>247 遅くなりましたが
レスありがとうございます
ランダム装備の件ですが、
やはりremoveitemとshort変数駆使してなんとかRemoveAllItemsで
できる方法を編み出すしかないようですね
AddItemだとやはりどうしても問題が生じますので・・むずかしいですね
音楽再生の件ですがありがとうございます
CellタイプがPublicの場所だったのであなどってました
ちゃんとRandomを活用したらうまくいきました。
ありがとうございました!
質問です。 プレイヤーの移動スピードを落とすリンクは作成したいのですが CSで複製したリングのスピードをマイナスの数値にすればいいだけなのでしょうか?
>>252 エンチャントでウィークネス効果のスピードでやればいいんじゃないかな
>>253 ありがとうございます。
CS開けてみてみます。
CSで装飾エンチャの効果にConjurationが指定できるようだったので試してみた所、装備してみても発動しませんでした。 装飾であれば装備した時点で発動と想定していたのですが、もしかして見当違いの事してたりするんでしょうか。 Fire Damage→発動 Bound Cuirass→不発 Magic Effect自体の書き換えはしておらず、対象はどちらもselfです。
とりあえず骨を削除したあと全身の骨をImportすることでParentして いらない骨を消すというかんじで見た目はいけたようなのですが大丈夫かなぁコレ・・・
>>255 仕様
装備エンチャで発動する魔法は限られている
エンチャAltarで指定できない魔法で効果があるのはHP/Magicka回復くらい
>>258 むー、仕様っすか・・・
Strike a Poseとかで何かしらのモーションとらせながら召喚できるかなーと思ったんですが、
別の方法考えなきゃなりませんね(´・ω・`)
レスthxでしたー
>>259 scriptで制御すればなんだってできるよ
>>259 さあ!きみもScripterの仲間入り!
二つの防具を組み合わせたくて、blender上で2つの防具をimportし、 二つを合わせて、一度ALT+Pでparentを消してから二つのボーンを選択してCTRL+Pでparentを作成してみたのですが、 なにも表示されず、ゲーム内でも表示されませんでした。 どうすれば表示されるようになるのでしょうか?
>>264 なんでそんな面倒なことを。
nifskope使え。
>>263 そのMODに限らず一般的にオリジナルの視覚効果を作る場合はObjectやEffectShaderを
作って実現すると思います。多分。
Objectの場合はそのreferenceをあらかじめどこかの隠し場所に配置、効果が必要に
なったら所定位置にMoveTo、使い終わったら元の場所にMoveTo、みたいなかんじです。
実際にスクリプトをどう作るかはご希望の動作の内容次第でしょう。
>>266 Midasを見たところObjectとeffectShaderに色々と発見できました
MagicなのにWorldObjectsの項目とは素人泣かせな
スクリプトもやってみると楽しいのでのんびりと挑戦してみます
ありがとうございました
>>265 返答ありがとうございます。
nifskopeでどのようにすれば組み合わせられるんでしょうか・・?
どうかお願いします。
>>269 何度かやってみたところできました!
ありがとうございます!
Blender_KF_SupportPack_0_4を参考にポーズを作成しているのですが、手詰まりになってしまい質問させてください。 1.blenderでポーズを作成しexport 2.確認のために洋服などのnifファイルを開き、spells>Animation>Attach.KFで、1で作ったkfファイルを 読み込もうとするとcouldn't find the animation's root node (Bip01)とエラーが出ます Bip01が見つからないとエラーで言われてるので、NiTransformInterpolatorの下にNiTransformDataが無いのが エラーの原因なのか?と思っているんですが、回避できずにいます。 使用ツール: blender 2.48a nif script 2.3.13 nifskope 0.9.8
272 :
271 :2008/12/07(日) 11:11:45 ID:Hdunt3f3
couldn't find the animation's root node (Bip01)のエラーは自己解決しました。 ボーンが全て揃っているnifファイルでkfファイルを読み込まないと駄目なんですねorz (先達の方々のkfファイルで確認) しかし、自作ではNiTransformInterpolatorの下にNiTransformDataの件が解決できません。 誰かボスケテ
273 :
271 :2008/12/07(日) 12:15:09 ID:Hdunt3f3
すみません解決できました。 フレームが関係しているんですね。 スレ汚し失礼しましたorz
NifSkopeでメッシュを別のファイルへペーストブランチすると、ぐちゃっと変形してしまいます これは既出の問題でしょうか? 過去分からやり直すのも手なのですが、回避・対応できない失敗があるのも気になってしまい… 状況は、blenderで自作鎧の一部を手直し→別名でExport→NifSkopeで編集したパーツだけコピーして反映させようとして、メッシュが複雑骨折 思い当たる節は、手直し中、一時的に人型をインポートしたこと 未解決の経験談でも良いので、情報をお願いします。
うにょれるのはweight設定が悪い、あとはぐぐれ
二刀流の武器で、右手武器に連動して左手武器を着脱させるのはプレイヤー限定ならば 難しくないのですが、これを全てのNPCにも適用させる事は出来ないでしょうか? 具体的に言うと、武器に貼り付けたスクリプト内で、自分(武器)を装備しているのは誰か、 という値を得ることは出来るのでしょうか?
getcontainer(ゲットコンテナ…綴りに自信が無いw) という関数が持ち主を返すんじゃないかな。
おお、ありがとうございます。 試してみます。
279 :
名無しさんの野望 :2008/12/09(火) 01:20:10 ID:zRs48sbG
すいませんが質問です。 MPCで連れ回してるコンパニオンにクリーチャー(というか犬)を連れ歩かせたいんです。(別行動を取った時にチーム行動をとれるようにしたい) 詳しい方お知恵をお貸しくだしあorz
>>279 followパッケつけて同じFactionいれておくだけでいんでないの?
・・・マルチかくそが
すいません・・・なんかまずかったなら気をつけます。 返信ありがとうございました。
>>279 次からはメール欄にsageと入れるといい
>>281 いきなり噛み付くなよ。質問スレから誘導されて来ただけだろう。
2chに慣れてないだけだろうさ。
>>277 以下のように試してみたところ、プレイヤーでもコンパニオンでもちゃんと動作しました。
どうもありがとうございました。
SCN TwinSword
ref who
Begin GameMode
set who to GetContainer
if who.GetEquipped RightSword == 1
if who.GetItemCount LeftSword >= 1
if who.IsWeaponOut == 1
who.EquipItem LeftSword
elseif who.UnequipItem LeftSword
endif
endif
endif
End
つい先日Blenderデビューしてやるぜ!と意気込んで
まずはインスコだぜガハハハハ!と関連サイトでググりながら
sourceforgeにたらい回しにされ必死にファイルを集めてたんだが
何のことはない、tesnexusに纏めて置いてあったじゃねーかorz
http://www.tesnexus.com/downloads/file.php?id=12248 Blender 2_47 Stable に以下のファイルが入ってる
Blender 2.47.exe
blender_nif_scripts-2.3.7-windows.exe
nifskope-1.0.12-windows.exe
PyFFI-py2.5-1.0.0-windows.exe
Python-2.5.2.msi
はあぁー無駄な時間を過ごしちまった
>>286 sourceforge使いづらいよなあ
このTESNのは便利だね
wikiに追加しても良さそうな情報だ
すいません。少し聞きたいんですが。 召喚魔法の作り方がちょっとわかりません。 オブジェクトウインドウのマジックタブからスペルを新規作成し、エフェクトを選択するまではよかったんですが。 このマジックエフェクトは新規に自作できないんでしょうか? Extra Summon 0〜 を書き換えたらよさげなんですがこの方法であってますか?
UV展開のことで質問すみません 例えば手と足の2箇所を別装備にするため2つのNifにして テクスチャ1枚を共用した場合 ゲーム内でこの2つを同時に装備した場合、使用されるメモリは 2箇所で1枚分だけなのか手と足が別々にテクスチャを呼び出すかんじで2枚分になるのか どっちになるのでしょうか なるべく無駄を少なくしたいのですが仕組みをさっぱり知らなくて よろしくお願いします
>>285 私も二刀流に挑戦しようと思っていたので参考になります!
このスクリプト、使わせてもらってもいいでしょうか。
いいよー
ん?2刀流のMODってなかったっけ?
プレイヤー限定のならあるけど、NPCでもおkなのは見たことないな。 OBSE必要になるけど、「〜を装備しました」のスパムが出ないEquipコマンドがあったはず。 気になるならそっちを使ってもいいな。
二刀流、流行っているんでしょうか。
>>285 少し細かい話ですが、毎フレームEqup/UnEquipをするのは要注意かもです。
実際の装備動作が起きなければ恐らく問題は無いとは思うのですが、一般的には何かの
実行動作を毎フレームアクターにさせると不安定になったりします。
とりあえず二刀流の左手武器自動装備のサンプルを作りました。
http://up-load.ddo.jp/upload/data/up21281.jpg (SSです)
http://up-load.ddo.jp/upload/data/up21282.jpg (zip)
ICWaterfrontにファストトラベルしてすぐ左側に剣が二本置いてあります。
両方拾って右手武器装備→構えると左手武器が自動で装備されます。コンパニオンNPCや
武器を使うクリーチャーに渡してもOKです。多分。
左手武器はShieldです。スタッシュ等に入れたり地面に置かれた場合の処理のスキップ
と全体の頻度を下げてあります。スクリプトにコメントが付けてあるので何をやって
いるかは多分すぐ分かると思います。あまりテストしていませんが。何かのご参考に。
>>288 MagicEffectに新規追加は出来ません。Extra〜の変更で召還魔法を作る事は可能です。
でもその方法が「あっている」かどうかはそのMODの目的や用途次第でしょう。
自分専用でとりあえず動けばいいのならその方法でOKです。公開の予定があるなら
競合を避ける為に別な方法が良いでしょう。
296 :
288 :2008/12/10(水) 12:45:28 ID:1z/0vcw7
>>295 どうも。やはり同じ枠を使う他のMODと競合しちゃいますか?
別の方法で出来る?みたいですがどのような方法があるのでしょうか?
条件として場所を特定する場合 フィールドならTamrielでできますが、 街だけ(街の建物内含)や、ダンジョンの中だけとか そういう切り分けってできるのでしょうか? たとえば、街にしてもAnvilWorldとかだと屋内はだめですよね?
>>296 いわゆる「フルスクラッチ」になると思います。
必要なら視覚効果のオブジェを自前で用意して、MagicEffectScriptで位置を計算して
タイミングを見て配置、アニメ再生、召還ならどこかに用意したアクターをMoveTo、
時間が来たらまた戻す、みたいなかんじでしょうか。
キモは視覚効果とアクターの出し入れ操作だと思います。
視覚効果はデフォの召還魔法で使っているエフェクトのnifをObject化して流用すれば
見た目オリジナルとそっくりに出来るでしょう。
細かな話になりますが、例えば「summonundead.nif」を流用するなら、NifSkopeで
NiControllerSequenceの名前を「Forward」と「Backward」に付け替えて、TriggerZoneとか
からEditorMarker部分ををコピペしてBSXFlagsに「EditorMarkersPresent」を指定、
StaticObjectか何かにそのnifを指定すればCSのRenderWindowで普通にオブジェとして
扱う事が出来ます。スクリプトからは「Playgroup Forward/Backward 1」でアニメ再生を
コントロール出来ます。
スクリプトからオブジェの位置を変えたりアクターを召還する方法はCSWikiで「summon」
を検索するとFAQや具体例が見つかると思います。
>>298 複数のInteriorセルを選択的に検出する場合はGetInCellでセル群の名前に共通して
含まれる文字列を名前に持つセルを指定する方法があります。
例えばOblivion〜という名前のセル群ならダミーの「Oblivion」という名前のセルを
作って「GetInCell Oblivion」で一括して判定出来たと思います。
それ以外の場合は自前で色々条件を絞って判定するしかないでしょう。多分。
>>300 な、ななななんですとぉお
つまり、AnvilならGetInWorldSpace AnvilWorldと
GetInCell Anvilにしてあげれば
Interiorsの中のAnvilをEditorIDに含むセルが全部選択されるってことすか?
なるほど!それでセルリストの各地域のInteriorの頭に
AnvilやChorrolって名前の何も中身のないEditerIDが存在していたんですね。
そんな方法があったなんて知りませんでした。
ありがとうございます!
まったく想像もしていなかった最良の手段になりそうですorz
まだまだ、知らないことだらけでお恥ずかしい・・・
将来的にはスクリプトからNifやDDSを制御できるようにもなるらしい なんで、スレにも出てるけど 時間が経過する度に額縁の中の絵が変わるとかも スクリプトから実現できるようになるっぽい Nifの内部設定もいじれるっぽいから 成長する武器Modとかも簡単に作れそうだね パーティクルエフェクトが段々派手になるとかさ
304 :
302 :2008/12/10(水) 15:45:45 ID:Qf2aR1WY
連投すいません CShelpのFunction項目で 内部セルと外部セルの話があったのですが、ピンとこず気にしてなかったのですが、 そういう意味だったんですね
>>303 特定の条件下になるとアニメーションしたりとか…か。
いま出しっぱなしのライトセーバーの刃が、構えた時だけ出るようになったり
構えたときだけチェーンソーの刃が回ったり
うは。面白いけど覚える事も増えるなぁ
>>299 遅くなりました。詳細ありがとうございます。
まぁ見てて正直チンプンカンプンだったんですが(^_^;)
いろいろと先人さんのMODをみて勉強したいと思います。
>>294 盾側の剣にだけスクリプトを仕込んであるんですねー
勉強になります。
これで鞘も表示できればいいんですが、そうなるとセット扱いにしないと
難しいかな。刀と脇差で二刀流ってのをやってみたいので、いまOBSEのスクリプトも
みつつ情報をあつめてるとこです。
すみません、質問です。 オリジナルNPCのModを作成したのですが、何故か帝都兵士や宿屋の店主などが 会話してくれなくなってしまいました。 変更内容は新作5体のNPCをマップに配置食事時間、睡眠時間を設定だけなのですが 何かデータを壊してしまったようですが2日ほど調べたのですが良く分かりません。 当初、宿屋の店主が喋らなくなったのは別途を無断で使ったために何かおこったのかと 調べたのですが、後々他のNPCも「Hi」しか喋らず会話の分岐もなくなっていることに気づき 別の方向でも調べたのですが結局原因分からずです。 複数のNPCが喋らなくなる原因とか何か考えられる問題は無いでしょうか?
>>308 何したかがわからないからそっれだけじゃなんともだけど
既存のAIパッケージやダイアログを変更してない?
>>309 可能性は有ります。使ってないAIパッケージを削除した覚えがあるので
間違って既存のAIパッケージまで削除したのかもしれません
もしも、既存のAIパッケージを壊してしまったと仮定したら
NPCだけ取り出して別のMODを新作すれば直りますよね。
5体だけなので他新しくMODを作成して様子を見てみます。
>>310 ディテールの一覧からパッケージをざっとえらんでイグノアにチェック。
そんでもって開いた後で、即保存。
これでAIパッケ関係の(既存のものを削除したものも含めて)クリアになると思う。
おお、二刀スクリプト参考にさせていただきます。 NPCも武器背負えるようになるのいいですね。 これで双剣全部NPCに対応できる!
>>311 レスありがとうございます…
すみません。ディテールの一覧が分かりません。ごめんなさい。
>>311 見つけられました。ありがとうございました
ディテールの一覧から全パッケージにイグノアにチェックしてセーブしたのですが 変わりませんでした…試しに全部にイグノアにチェックしてセーブしたのですが変化無し 何か別の問題かもしれません。ちなみにespファイルの読込み順位を上げると 問題がなくなりました何らかのespファイルに上書きされたようです。 症状としてはNPCに話しかけると「Hi」としか言わず会話選択が無いか 噂話が1つあるだけで(噂話も新聞ネタで会話終了後かならず新聞をくれる) なので店でも宿屋でも宿泊買い物が出来ず、乞食や兵士も同様の状態です。 とにかく何らかのespファイルで上書きされて正常に動いているので 優先順位を変えてみて調べてみます。
>>315 いやそこまでわかってんなら
どのmodが影響してるのかひとつづつチェックするだけだろうww
>>316 問題なのは自分の作ったMODなのですが
何で触っていないはずのNPCたちの会話が壊れてしまったのかが
全然見当つかないのです。
自作NPC3体入りのepsファイルが5kbに対して
問題のおきている自作NPC6体入りのepsファイルが884kb…
これおかしいですよね、Beautiful People 2ch-Ed.espでも300kbぐらいですから
>>317 あ、思い当たるふしがある。
貴方がチェックに使用してるセーブデータが問題だ。
ある種の変更はセーブデータに残る仕様なので
それが原因で、MODを変えても変化が見られないって事じゃないだろか。
>>317 あと、サイズがおおきいから、
スクリプトのコンパイルオールとかしちゃってる可能性も大だね。
ディティールの一覧で、種類別にソートした時に
Scriptが延々ならぶようなら、ソレだ。
scriptが結構有った気がします。調べてみます。
スクリプトとインフォが大量に有りました。 削除したところ容量が400kbと半分になりました(汗… ただまだ、状況は変わらないので、ディテールの一覧から変更した覚えのない 項目を削除してちょっとずつチェックしてみます。 ちょっと先が見えましたありが差うございました。
ん?なに言ってる いまどきはRM成金だしキャラ関係ねーでそ
324 :
322 :2008/12/12(金) 03:15:34 ID:U6gAeZEU
おそろしく誤爆した すいまそんorz
モーションを自作するために勉強中なのですが覚えることが多くて先が見えませぬ IKを利用してオブで使えるモーションを編集する為に必要な手順を Blenderで全て出来るのか他に必要なものがあるのかなど とっかかりだけでもよいので教えていただけないでしょうか
>>325 あまりBlenderに詳しく無いのですが。
IK自体はBlenderで出来ます。Obとは特に関係無い普通のCGツールとしての機能の一つ
です。でもお話の雰囲気だとIKの事はとりあえず今は置いとくのがいい気がします。
まず、Blenderにそのアクターのskeltonと既存のkfをインポート、何も加工せずにkfを
エクスポートしてそれがゲーム中で問題無く動くかを確認、その基本的な手順を
試行錯誤して自分なりに確立して下さい。NifSkope操作も必要かもです。
それが出来たら今度は既存のkfのどこかのボーンを一つだけ動かしてみて、ゲーム中で
きちんと変更が反映されるか確認、これまた手順を自分なりに確立して下さい。
で、今度は各部を動かして体全体にアニメを付けてみて下さい。
ここまで出来ればBlenderでのアニメーション、ボーンの操作は一通り把握出来たと
思います。その辺を把握した上でBlenderのチュートリアル等を見ればIKの必要性や
操作法は理解出来ると思います。後は試行錯誤で
>>327 二刀流ってそれだったんですか。日本刀を想像してました。
ニッケル合金製で重さ約2tだそうですよ、それ。かなりの腕力が必要そうです。
置いて落下しないのはHavok関連でしょう。最近のBlenderでHavokの扱いがどうなるかは
良く知らないのですが、NifSkopeでコリジョンを弄る話でしたらこの辺に。
http://cs.elderscrolls.com/constwiki/index.php/NifSkope:_Adding_Collision_Model サンプルの「Weapon2R.nif」の場合、NifSkopeでIronLongSwordにShortSwordのメッシュと
コリジョンを追加して角度を変えてます。
NifSkopeでコリジョンを追加、位置や角度を変えるには
bhkRigidBody→bhkListShape→bhkConvexTransformShape→bhkCapsulShape
みたいにリンクさせると一つのBodyに複数のコリジョンを付けて個別に
bhkConvexTransformShapeで位置角度が指定出来ます。
ヒンジ構造にして置いた時に二つの武器が自由に動けば面白そうなのですが。
>>329 レスありがとうございます。
簡単なモーションなどはなんとか再生できるようになり
IKをつかったモーションもBlender上では一応作れるのですが
これをオブリ内で再生できるようにする方法がさっぱりで
できるのかどうかもわかっていないかんじです。
>>331 Blender上で動いてもObで動くとは限らないので、あまり先行せずに一つずつ確認
しながら作業するのが良い気がします。
とりあえずやっつけでゲーム中でkfを確認する方法なら単にそのアクターのIdle.kfを
置き換えればOKでしょう。
他のポーズMODを流用してそのkfを置き換えて、みたいな方法もアリかもしれません。
とりあえずIdle.kfのImport/Exportの確認をまずやってみる事をお勧めします。
すいません、恐らく初歩的なことなのでしょうが質問させてください。
Blenderでnifファイルをインポートしようとすると下記のログを吐いてしまいます。
--------------------------
ERROR
This script requires the Python File Format Interface (PyFFI).
Make sure that PyFFI resides in your Python path or in your Blender scripts fold
er.
If you do not have it:
http://pyffi.sourceforge.net/ --------------------------
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "C:\Program Files\Blender Foundation\Blender\.blender\scripts\bpymodules\
nif_common.py", line 69, in <module>
from PyFFI.NIF import NifFormat
ImportError: No module named NIF
nifファイルをインポートするにあたってどこにnifファイルを置けばいいのでしょうか?
Blender等々はデフォの設定でインスコしています。
長文ですみませんが、ご教授願えますか?
PyFFIはインストールしました?
>>334 はい、PyFFI-py2.5-1.1.0をインスコしました
>>330 ありがとうございます。
Havok関係の問題だったようで相談スレpart1の672に書かれてた部分を参考にしたら
ちゃんと扱えるようになりました
http://up-load.ddo.jp/upload/data/up21418.jpg jpg→MP4
blenderでそのまま武器のobjectを全選択後複製しているので
両方にコリジョンを持ってしまって捨てるとばらばらになりますが
DeadlyReflexで吹き飛ぶObjectみたいに1objectとしてみられるのでどっちか拾えば良いので
これはこれでいいのかな、と思ったり
337 :
335 :2008/12/13(土) 02:00:21 ID:AfVJepl9
自己解決しました! 原因は分かりませんが、バージョンを全て新しいものに変えたら言うことを聞いてくれました。 スレ汚しすみませんでした;
338 :
307 :2008/12/13(土) 09:48:35 ID:m5d5maoz
>>330 日本刀の方は私の方で製作中でありますー。
鞘付でまさに望みのもの、そのもの!というかんじでしたので、
大変感謝しています。(昨日は残業でまだ試せていないんですが…)
いま脇差を製作中なので、でき上がり次第いくつかデザインを
変えたやつを公開していこうと思ってます。
ふと思いついたのですが、OBSEv16のNifScript使えば
「二刀流」「大刀両手構え」「脇差片手構え」とか切り替えられそうですね…
まあ、新しいスクリプトがどんな仕組みかまだわかってないんですけども。
341 :
317 :2008/12/13(土) 21:20:53 ID:sLfSsA12
一応解決しました。ディティールの一覧からRaceにデフォルト種族がコピーされていて それらを削除したら直りました。 しかし、追加したNPCのIceElfに話しかけると初めの会話だけ口ぱくが合わない 現状が残っています。 もし良かったらディティールの一覧で早強い部分とか無いかしてもらえませんか?
342 :
317 :2008/12/13(土) 21:28:28 ID:sLfSsA12
>>341 口パクが合わないということは参照しているlipファイルが違うのではないでしょうか
IdeelfDUPLICATEのfemaleはVoiceをAinmhiDuplicateを参照しているので
DATA\sound\voice\oblivion.esm\AinmhiDuplicateが無い場合はAinmhiから音声をひっぱってくるかしないといけないと思います。
ただ、Ainmhiは戦闘音声のみしかなかった気がします。
>>343 音声ファイルは別種族の音声を修正して作った覚えはあるのですが
リップを追加していなかったと思います。調べてみます。
345 :
344 :2008/12/13(土) 23:40:27 ID:sLfSsA12
リップファイル有りました… 初めの一回だけ口ぱくが合わないんですよね… 二回目からは同じセリフでもちゃんと口パクするんです。 何でだろう????
初歩的な質問ですみません
デフォルトのがに股待機モーションが気に入らなくて、
blenderでモーションを作成して試していたのですが、
kfinjecterでidle.kfを元にnifを作成してインポートして、モーションを作る所までは
上手くできたのですが、kfを保存するときに、タイムラインが元のと同じ長さじゃないと
エクスポート途中でframe out of rangeエラーが出てしまいます。
具体的には、
元の長さ221フレームのキーフレームを一度すべて消して、100フレームループのキーを作成。
Timelineでスタートとエンドを1〜100に設定。
→エクスポートでエラー
221フレームに合うように適当にキーをコピーして1〜221でエクスポート→OK
長さの定義が抜けてるのはわかるのですが、アニメーションの長さをきちんと定義して、エクスポートでエラーが出ないようにするには、ドコを設定したらよいのでしょうか……?
blenderは
>>286 の
Blender 2.47.exe
blender_nif_scripts-2.3.7-windows.exe
nifskope-1.0.12-windows.exe
PyFFI-py2.5-1.0.0-windows.exe
Python-2.5.2.msi
このバージョンを使っています。
>>346 BlenderのActionEditor→Key→Transform→Scaleで行ける気がします。
また、アニメの長さを変えてkfをExportした場合はNifSkopeで辻褄を合わせる必要が
あるかもです。
>>338 太刀を腰に下げて構えは両手、はどうやったらいいんでしょうね。
TwoHand指定だと刀も鞘も背中位置になるので、また装備時と構えた時で別なnifを用意
する必要があるかもです。
装備時のnifは刀も鞘も腰位置にオフセットさせて、抜刀時のnifは刀はそのまま原点で
鞘だけ腰位置にオフセット、二つのnifを状態を見てSetModelPath、でしょうか。
抜刀アニメはどうしましょう。
デフォの両手Equip/Unequipアニメが曲者でなかなかうまいことスキップ出来なさそう
な気がします。
スキップさえ出来れば適当な腰位置から抜刀→両手構え動作を作ってAnimObjectに
刀を指定、IdleアニメとしてPlayGroupで行けそうな気がするのですが。
>>349 あー、なるほど。抜いてからSetWeaponTypeでTwoHandに変更すると構え姿がその場で
変わるんですね。thxです。これなら楽かもです。
一つの二本差し武器で色々構えが変わるのは新機軸かもです。
普通は大刀を両手構え、スニークで小刀を片手構え、免許皆伝クエクリアで二刀流解禁、
みたいな。
メニュー時の対策も必要でしたね。 MenuModeブロックで「持ち主がプレイヤー&&装備している&&構えていない」状態を 検出してSetModelPathでWeapon2RD.nifに切り替えて、またGameModeになったら元に戻す、 みたいな対策になるでしょう。多分。
>>347 レスありがとうございました。
どうもスケール変えてもやっぱりうまくいかないのでNifScriptを書き換えて、
Endに設定されているフレームをNIFのEndに持ってくるようにしてしまいました。
(ついでにextradataの文字列もstart/endになるように)
武器の装備位置はkfファイルで変更できる。
http://up-load.ddo.jp/upload/data/up21513.jpg 片手武器と矢筒の位置変更
http://up-load.ddo.jp/upload/data/up21514.jpg 両手武器・弓・杖の位置変更
各対応Boneは
納刀時の片手武器(鞘)はSideWeapon、矢筒はQuiver、納刀時の両手武器、弓、杖はBackWeapon
抜刀時の武器の位置はWeapon、盾は不明・・・
Blender_KF_SupportPack内のBlendファイルを使えば、各Boneがあるので簡単だと思う。
バニラや、モーションMODの武器位置を変更するには
Blender_KF_SupportPackのBlendファイルを使って対応Boneの位置を調整
BlenderからKFファイルを出力する。(他のBoneを弄って、ポーズを作る必要は無い)
作ったKFファイルをNifSkopeで開く
NiControllerSequence→Controlled Blocksの位置を変更したBone名→InterpolatorのValueに書いてある番号のNiTransformInterpolatorを開き
そこのTranslationとRotationの数値を、位置を変更したいKFファイル(例えばidle.kf)のTranslationとRotationに入力すればOK
単純に片手武器の位置に両手武器を装備させたい場合は
SideWeaponのTranslationとRotationの数値を、BackWeaponのTranslationとRotationに入力してやればいいだけ
ただ、この方法だと他のKFファイルも弄らないといけないので手間がかかるのと
モーション変更MODの中には、Controlled BlocksにSideWeaponとか無かったりするのがネック
まぁ、スクリプトでやった方が良さそうだけどね
ツールについての質問で恐縮なんですがgimpについて教えて下さい。 猫耳のテクスチャーを作るべくネット上からjpgのぬこ画像を落としてきて それをgimpでUVマップに合わせて展開し、ddsで出力しようとすると mipmapが作成できないといった主のコメントがでます。 jpgをつかっているとddsで出力する際にmipmapは作られないのでしょうか? それとも通常はできるものなのでしょうか? 情報が足りないかもしれませんがお願いします。
>>356 今やってみたが、エラー?っぽいメッセージが出たけど
ddsファイルは普通にできてた
saveフォルダに2バイト文字とかつかってないかな?
>>357 そのエラーっぽいメッセージがうちのでも出るんです。
ddsでは出力はされますがmipmapないとゲームに
影響でるとかでないとか聞いたような気がして・・・
saveフォルダは大丈夫なはずです
mipmapがないといつも大きいテクスチャを使うことになるので 重くなる JpgはだめなのでTGAとかBMPにすれば大丈夫な気がする
>>359 なるほど!
重いの嫌なら一回jpgからbmpなりに変換して出力すればいいんだ!
って認識でおkですか?
それでいけるかと思います 昔着るとFPSがかくっと落ちる装備があったので調べて見たら 自作したテクスチャのMipmapを忘れていたってことがあったので 影響は大きいと
いや、普通にmipmap込みでDDSファイルできてんだけど
連投すまん、もしかしてgenerate mipmapにチェック入れてないってオチじゃないだろうな
あり、試しにさっきJpgから作ってみたDDSにはMipmapが無かったけど 環境でちがうのかな
おぉ・・・すみません 単に画像サイズを256*256とかにあわせずに試してただけだった Jpgがダメなんじゃなくて画像サイズの問題ですね
って画像サイズ適当でできてはる とりあえずGimpとプラグインバージョンアップしてこよう・・・
MOEのClan Raeluって音声合成でフルボイスだけど、 あれってどのText-To-Speechでやってるんだろう。 AT&Tのサイトでチマチマ作ればいいんだろうけど、 それをMODで使って配布していいとは思えないし…。
バージョンは関係ないようで 720*576でエラーありマップなし 512*512でエラーなしマップあり 460*691でエラーありマップあり になったのでサイズ次第みたいです。 とりあえずJpgがダメなのは嘘でした。すみません。
DirectXはサイズが2の乗数(2,4,8,16・・・)しか扱えないから注意
えっとつまりサイズ次第というこでおk? 2の乗数に気をつければいいと。 んで、出来なきゃbmpなりに助けを乞えばいいんですね?
フォーマット云々の話は忘れてくだせい、すみません 370で補足していただいてる通りサイズさえ問題なければ大丈夫でした どこで勘違いしたのやら申し訳ない
ごく基本的なことで申し訳ないのですが知恵をお貸し下さい。 aaaInterior という名前の Interior を作り、 中に aaaInteriorMarker というレリファレンスIDの XMarker を床に置きました。 次にアイテムを作り、以下のようなスクリプトを付加しました。 ScriptName aaaReadAndMove Begin OnAdd Player.MoveTo aaaInteriorMarker End アイテムを路上に設置してゲーム内でインベントリに入れてみると、 確かに aaaInteriorMarker の位置に移動できました。 ところが画面がセピア色になり(Health BarなどのHUDは通常の色です)、 視点も動かせないし移動もできないままになってしまいます。 正確には、歩いたり走ったりするモーションはするのに、移動できません。 セピア色は、EscやTabなどを押した時に背景がセピアになる時の色です。 どうすればちゃんと移動できるんでしょうか?
>>373 「MoveTo」は使うブロックに制限があるみたいです。他にもOnActivateブロック内で
NPCに使うとCTDしたりします。
回避にはフラグ変数を介してMoveToをGameModeブロックで実行するのが手っ取り早い
でしょう。多分こんなかんじです。
short MovF ;MoveToするフラグ
begin OnAdd
set MovF to 1 ;フラグをセット
end
begin GameMode
if ( MovF == 1 ) ;フラグが立っていたら
set MovF to 0 ;フラグをリセットする*
Player.MoveTo MarkerRef ;「MarkerRef」にMoveToする
endif
end
*MoveToはプレイヤーに実行すると「Return」と同じになるので、フラグのリセットは
必ずMoveToの前で。
>>374 おおお、うまくいきました!ありがとうございます!
紹介スレから誘導されてきました。そのまんまコピペですが ポーズ作り始めたばかりの者ですが、顔の向きを変えたポーズ作るときは 皆さん体の軸を調整するたびにゲーム内で確認してるんですか? 完成の達成感に酔いながら、変に曲がった首を見た時の脱力感は体に悪い><
>>376 自分は確認している
曲げすぎてよくわからなくなったらbone選択後、N押すとでてくるwindowで調節できる
Previsの値を全部0にすればデフォルト位置に戻るので再調整も簡単
てかPoseの編集中ってコントロール+Zおしすると全部初期値にもどっちゃう? ついつい癖で押して全部おじゃんになる\(^o^)/
>>377 やっぱり確認してるんですねぇ。不具合どおりで直しても
修正がゲーム内で反映されないから気になったんですよ
レス参考に作り直そうと思います。ありがとうございました!
頭向き固定の話ですが、Bip01HeadのPriorityを大きくするのはダメですかね。
例えば「93」にしたり。「93」というのは本編の頭向き固定のkfで指定してある値です。
CloudRulerTempleで見張りをしているBlade隊員のsentrylookout.kfとか。
それかコンソールかスクリプトで「Look [そのアクター自身のRef]」とすれば頭は勝手に
動かずにkfに従う様になります。
プレイヤーの場合は「player.look player」、解除は「player.stoplook」で。
頭が他のアクターに追従しないアニメの例です。
http://up-load.ddo.jp/upload/data/up21646.jpg (jpg→wmv)
http://up-load.ddo.jp/upload/data/up21647.jpg (Blender作業画面)
この例の場合Blender上では普通に頭を動かしてNifSkopeでBipe01HeadのPriorityを
93に変更してあります。
Blnder上でそのボーンのPriority(SS印の個所)を指定してもOKみたいです。
スレ違いですが… S師は近未来の方には進出されんのでしょうか。
うぅ・・・ mod製作の手始めに既存種族の耳のテクスチャー差し替えでもって思ったら 反映されないどころかその種族が画面に写るところでCTD起こして涙目だわ; こんなのも出来ないようじゃ作り手なんかになれないんだろうなぁ・・・(´・ω・`)
>>382 たぶんノーマルマップを作ってないか、文字列が一致してない。
>>383 一応mod作成チュートリアルを呼んでノーマルマップは作りました。
文字列のくだりを詳しく教えてもらえますか?
385 :
288 :2008/12/20(土) 02:31:17 ID:wk58je1N
>>384 これはたまにやらかす凡ミスなんだけど。
Armor.dds Armor_n.ddsとか
すみません、質問です。 CSで新種族用の音声を用意したのですが何処で設定すればよいのでしょうか? 上部タグからキャラクター>>Raceで男性音声と女性音声は選択できるのですが フォルダー自体を設定していないので当然音声は出ません… 音声フォルダーは何処で設定するのでしょうか?
sound→voice→Oblivion.esmフォルダ内
>>387 説明が分かりにくくてごめんなさい。
フォルダの場所ではなくて、CSで設定する場所が解らないのです。
キャラクター>>Raceで種族の音声は設定できるのですが
単に種族名だけでその音声が何処のフォルダーににリンクされているかを変更したいのです。
>>385 見てみたけどそこはちゃんと入力できてました!
何が原因か分からない(´・ω・`)
種族作成のノウハウある方、住み込みで弟子入りをry
>>389 どこか違うところを間違っている気がする…
テクスチャーが間違ってるだけなら、紫色になるだけだしCTDはしない。
CTDするってことは、テクスチャーは読み込めたけどデータ自体が変ってことじゃないかな?
有り得ないと思うけど、拡張子をDDSに書き換えただけでもとはPSDとか
JPGファイルだったりはしないよね
>>380 の頭向き固定の話の補足ですが、NifSkopeで弄る場合は、
NiControllerSequence→ControlledBlocks→Bip01 Head→Priorityの値を変えます。
あと、頭のトラッキングを止めてもkfで頭の向きを大きく変えるとゲーム中では上半身
も自動的に追従して回ってしまうみたいです。
恐らくトラッキングの補助としてシステムでやっているのでしょう。
上のwmvの例では頭と右腕以外は動かしていないので、上体が左右に少し回っているのが
多分それです。
防止策は不明です。アニメの場合は適当に動いてくれるので逆に歓迎なのですが。
>>381 そちらはまだ本編が全然進んでいません。しばらくはバニラで遊んでいると思います。
またいずれ。スレ違い失礼。
>>388 恐らくご希望の動作はRaceのVoice指定操作だけでは実現出来無い気がします。
目的とする動作が具体的に、例えば既存のどの台詞の音声を入れ替えるのか、それとも
コンパニオンやクエ等のオリジナル会話に音声を付けるのか、その辺が分かれば多分
具体的な回答が。恐らく。
393 :
389 :2008/12/20(土) 14:37:30 ID:9MXcUsj1
>>390 > テクスチャーが間違ってるだけなら、紫色になるだけだしCTDはしない。
> CTDするってことは、テクスチャーは読み込めたけどデータ自体が変ってことじゃないかな?
設定いじってCTDしないときもありますがその場合そもそも耳自体映らないっていう;
ddsにはgimpで手書きしたものを指定しているんですが・・・
チュートリアルは服の作り方だから知りたい情報と少し違うんだよなぁ
>>393 耳自体映らないのはテクスチャでは起こらないと思うけど
>>392 あーやっぱり駄目なのかぁ…調べてくれてありがとう
LittleElfって言う新種族入れたんだけど(うちの環境では?)声が無くって
Ainmhiから声をとってこようとしたら、当然そのespファイルにはAinmhi情報など無いから
複製したAinmhiから音声をとってくることになったので、それならいっそ別ファイルに
新しい音源を用意しようと思ったんだけど。無理そうですね。
「RaceのVoice指定操作」と「音声フォルダ」をリンクしている
場所があるはずなんだけどなぁ
あー解らない。
>>394 ですよねー
うぅむ、もう一度位置から見直してきます!
つき合わせてしまって申し訳ないです><
>>393 通常のgimpはDDSファイル非対応だったと思うけど。
あと、DDSはSaveの際にフォーマットの種類がたくさん有るけど
その辺とか間違ってない?
たしか、DXT5で保存だったっけ?
>>396 DDSのプラグインは導入しました
DXT5でも保存でmipmapも作成してあるんですが、いやはや;
たぶんmeshの問題なのかなぁと思うんですがNifSkopeもしくは
Blenderでの作業をもう少し勉強してみます!
>>394 Race→Voiceのリストに出てくる名前はそのesm/espに含まれる種族名です。
システムはその種族名をそのままパス名として使います。結果そのesm/espに含まれない
種族名はパスとして指定出来ません。その辺の仕様はシステム上の都合でしょう。多分。
で、それはいいとしてとりあえずの実現でいいなら、単に欲しいMOD種族の音声フォルダ
を丸ごとコピー、名前をその新種族に変えて新種族のRace→Voiceでそれを指定、
じゃダメでしょうか。
パワーアタック作ろうとしてるんですが、そろそろ人様に聞いてもよろしいでしょうか・・。毎回失敗してもう半年も経ってるからちょっと諦めつつありますが・・ 動きは出来てて、blender上ではしっかり50フレームにて動いてるんですが、どうあってもゲーム上で反映出来ないんですわ。 今さっきまでnifskoopとの格闘してたがさっぱり。手持ちの人様のPattackのモーションをnifskoopで参照しながらやってるんですけど、何が違うっつうか原因が絞れなさすぎてもうw 他の人のは、NiTextKeyExtraDataでText keysの数が3あってそれぞれstart,hit,stopあるんですが 自分のは最初から2しかなくて、start,hit,stopのhitだけない。 そして同じようにしようとText keysの追加をしてsave&Loadしなおすと増えてて設定出来るけど ゲーム上で構えるだけで落ちるようになる。そもそもBlender上で何か特殊な設定してからじゃないといけないのでしょうか?
俺もモーション作成中だけど、パワーアタックは作った事無いからあれだけど
Text Keyの追加、編集ならBlenderでやった方が楽だよ。
BlenderとNifScriptのバージョンが古いとできないけどね
ttp://niftools.sourceforge.net/wiki/Blender/Oblivion_Character_Animation 英語だけど画像もあるからなんとなく判ると思うけど、ここの一番下にText Keyの編集画面の出し方が乗ってる。
で、編集画面出して上にスクロールすると、たぶん
1/Idle: Start/Idle: Loop Start
45/Idle: Loop Stop/Idle: Stop
か
1/start
1/end
が、書いてあると思う。
フレーム数/左のフレーム数の時にどんな処理をするかって意味になってる。
続き Idleモーションの場合は、単純に 1/start ←フレーム1から始める(これ以外にすることは無いと思う) 50/end ←最終フレーム数50で終わる(フレーム数が70の場合は70にする)Cycle TypeがLOOPならstartに戻る これで良いんだけど、パワーアタックの場合はhitが間に入るから 1/start ○/hit ←このフレーム数の時に、攻撃が当たる 50/end ○の部分は、作ったモーションを見て決めてもらうとして こういう風にすればNifskoopでText Keyを追加しなくても、ちゃんと3つできてるよ。 ちなみに 1/Idle: Start/Idle: Loop Start ○/Idle: Loop Stop/Idle: Stop これはバニラのモーションに書かれてるText Keyだけど startとendをこれにすると、なぜかクラッシュする。 後はNifskoopでNameをAttackPower(AttackLeftPower、AttackRightPower、AttackBackPower、AttackForwardPower)にして Cycle TypeをCYCLE_CLAMPにする。 これで動かないなら、判んないな
402 :
346 :2008/12/21(日) 16:54:56 ID:FzTEyVUt
>>400 横レスですが勉強になりました。
おかげで疑問が氷解しました。
っていうか、Blenderの使い方をちゃんと学ぶべきですねorz
最近ぐだぐだ詠唱SS挙げてたりパワーアタックのSS挙げた者だけど モーション作成で頭を動かす上でやらない方がいいことは Plevisを動かさない事 もし回転するモーションで頭だけ動かなくてフクロウ状態になる時は PlevisのPriorityを21付近にしてNonAccumとHeadを99にすれば解決するはず もしポーズ作成時フレームのどこかでPlevisを動かしていると Priorityを弄繰り回しても頭はどうしようもないです 詠唱モーションを作る際はNonAccum、Plevis、Bip01を問わず キャラの軸を回転させないほうが良いです 軸を回転させると、静止時の見栄えは良く出来るかもしれないけど 移動やIdleとの混合やらSneak時に頭やら体の向きが不自然になります まぁ体の軸で優先するのがIdleやSneakeの方になるので 当然といえば当然なんですがw ちなみに最初の方に書いたPlevisの数値に根拠はありません 全部手探りで片っ端から試して自分で覚えた事なので 動作は保障できますが、他の数値の方が良いかもしれません
405 :
399 :2008/12/22(月) 01:45:08 ID:KZlNgelp
レス遅くなって申し訳ないです。そして事例まで挙げてくれての解説、本当に感謝です。
結局昨日朝まで格闘して寝落ちしましたが、関係ない所で収穫があったもんでつい続けてしまいました。
一人称でのモーションは作れないかと今のツールで試してたんですが、朝方直前になって成功。→歓喜→ジャンプ中、前進、左右横移動、ターン等
続けて作れたんで止め時がなかなかみつけられなくて・・。ここ見るのも忘れるくらい没頭したの久々ですわ。
前のverだったら簡単に一人称作れたのに・・っとやきもきしてたから感動してつい。
話はそれましたが、皆さんが仰られた方法、手順で後日もう一度試してみます。
>>400 さんのいうとおり、nifskoopよりblenderの方でしっかり作ったほうがよさげということもあり、また一から作ってみます。
なにかここまで煮詰まってたのが嘘のようだw本当にどうもありがとうございました。
画像上げられれば説明しやすいんだけど、CSでワールドスペースのハイトマップを 作成してて、保存して(もちろんESPも)次にまた開くと陸地と海のとこに線とか ボックスのようなノイズがでるんだけど・・・ これってどこか設定が悪いんでしょうか? 最終的に浜にする部分や断崖にする部分を決めたいので、海を2048、陸地を4096に して今は全部断崖状態なんですが・・・ この辺かなぁ?(まさかこれもDDSのように2の倍数でないとだめ?)
ここで聞いていいものかちょっと分かりませんが、ちょっとお聞きしたいことが。 SIを入れた後CSでSIのオブジェクト等を非表示に出来ないものでしょうか? しらぬまに使ってしまってSI必須になってしまうのがやっかいなので
SIを当てちゃうと、もうoblivion.esmがSI込みのファイルになっちゃうから、 その状態で非表示にすることは基本的に出来ない。 Editor IDの頭に"SE"がつくものはSIで出て来るオブジェクトだから、 それに気をつけるようにする手がまず一つ。 もしくは、SI当てる前のoblivion.esmをバックアップしといて、 CSを開く時だけDataフォルダに入れ、SI込みのoblivion.esmをよそに移動させとく。 CSを閉じたら元に戻して…っていうのがもう一つ。すっごい面倒だけど、確実。
>>406 随分昔にやってLODの作り方判らなくて挫折した口なんだけど
ノイズとかはわからないが
度の過ぎた断崖はどうもエラーを吐くような気がする
最近クエストを作ろうと思っているんですが、 CS見ても意味がわからないんです。 みなさんはどちらでクエスト作成の勉強をしましたか? できれば教えていただきたいです。
スクリプトについて初歩的な解説してるサイトこないだ閉鎖したね
俺も今クエスト作ってるけど、マジで自力だよ。 その解説サイトも、見る前に閉鎖しちゃったし…。 仕方ないから、似たようなことをやってるクエストを探して、 そこでどんな処理をしてるかを見るところから始めてみた。
414 :
406 :2008/12/24(水) 15:56:09 ID:mJIUTSfl
409さんの仰るようにフチに全部スムージングかけてなおかつ、高さを低めにしたら
いけました。
ありがとうございました。
でも、調子にのって(高さの)質感出そうとノイズ加えたら肝心な場所が水没・・・orz
既存のものをベースに(手書きで)作ってるから、2Dマップからハイトマップを
作ってくれるのあれば楽なのにねぇ・・・
(せめて背景として取り込む・・とか)
GIMPでもある程度のハイトマップは作れるけど、こっちでは使えんみたいだし・・
>>410 ちなみにデフォでの海面は3072でした。
>>412 俺もあそこで勉強中だったから、閉鎖されて愕然としたよ。独力だと本当にきつい
簡単なクエストなら、昔JavaScriptを習ったのとそれほど遠くないんだよね。
条件がこうならこうする、何かをインベントリに入れたらこれをする、とか。
どちらかというと条件の取得(距離とかクエストステージごとの処理とか)の方が面倒だ。
そう考えると、クエ作れる人はヤバイ。宇宙ヤバイ。
>>411 はところでどういうことをしたいのさ?
いっそみんなで知恵出し合って考えるくらいの勢いでいこうよ。
一応避難所みたいなしたらばもあるし、そっちでもいいから。
CS HELP(和訳版)にファーストステップだっけ、 マイ・ファーストクエストてのがあるっしょ。 すごく大雑把な把握として、クエストは会話を制御する場所だと 思ってた方がわかりやすいかもしれない。 クエストステージも会話(Topic)のCondithion(条件)の為の変数 の一つに過ぎない(極論すれば)。
>>416 ギルドクエを作ろうかと、
イメージ的にはブリーチのやつですね。
各地に隊長(ギルド長)を置きタムリエルを守ってる団体で、
未知の敵や雑用と戦いながら階級が上がる感じです。
ピンチに隊長が助けに来たり、共に闘ったりする
みたいな熱い展開のmodを作りたいなと思いまして。
ちょっと中二っぽいですけどね
>>414 随分前の記憶だから曖昧なんだけど
断崖作るときはある程度の高さごとに
段になるように斜面を作って(もちろん範囲は小さめ)
それをスムージングすれば割とキツい斜面も作れた気がする
でもやっぱり断崖絶壁を作るとしたら
地面のテクスチャと同じ断崖のNifObjectを作って置くしかなさそう
あのDiveRockもそのやり方で作られてるしねぇ
>>418 クエストのスクリプト、Begin GameModeブロックにすれば
デフォだと5秒に1フレーム走るんだっけか?
Begin GameMode
If フラグが立ってなかったら
If 戦闘中だったら
If クエストステージ(階級)はどうよ
If プレイヤーのHPはどうよ
・・・と、条件判断
隊長.MoveTo Player 後ろ100ユニット
フラグ立てる
隊長.evp(エバリューションパッケージ)
とか、しておいて
隊長のAIパッケージの一番上(最優先!)に
フラグが立ってたらFollow でプレイヤーについて行くパッケージを置いておく。
「またせたな」とか言わせても良い。
そして、クエストのダイアログの方には、
条件・隊長==1 フラグの値==1 ・・・ で、
タイトル「ありがとうございました」ーーレスポンス「うむ」
を作っておく。で、GoodByにチェックして、スクリプトの欄に隊長を
元の場所に飛ばすなりトラベルするように仕込んでおく。
こんなカンジだろうか。
>>418 だとすると、スクリプトとしてはそんなに複雑高度なことではない気がする。
MagesGuildの加入Conversation(クエスト→MG00Join→Topics)とかを見て、
がんばってくれー。
>>420 、
>>421 レスありがとうございます。
最近AIやスクリプトをいじり始めたので、
いろいろ聞くかも知れませんがよろしくお願いします。
さきほどメイジギルドのクエストスクリプトを見たんですが、
英文がありますね。
英語はあまり読めないんでよくわからないんですが、
この文は結構重要なんですかね?
言っちゃ悪いがちょっとワラタw
確かに色々とマズいレベル
>>422 いじりながら覚えるしかないすな
script全般覚えるのも必須
>>425 スクリプトを翻訳なんてしてどうするんすかw
でも言っちゃ悪いけど
できそうな気が全くしてこない
>>422 その英文の行頭に「 ; 」(←セミコロン)が付いてたら
…いや、ついてると思うんだけど、
通称、コメントアウトといいまして、要するに、メモです。
ここでこういう事をやってますよ、とかの覚え書き。
無くても動作に支障はないです。
セミコロンは、この後の文字はスクリプトとは関係ないですよと、
宣言するものですから。
>>422 なんか応援したくなるっ…くやしいっ…。
スクリプトに行頭「;」つきで書いてある英語は注釈、補足、しくみ解説、
あるいはスクリプトを書く人たち同士の連絡事項を書くようなメモ欄で、
CS弄ったりクエスト作ったりする人間には有用なことが書いてあるかもしれない。
今MG00Scriptの注釈読んだけど、中学英語レベルだよ。難しくないから安心して。
す、すいません・・・ なんかすごく恥ずかしいので半年ROMってきますね・・・
>>429 やる気さえあればどうとでもなるよ
おれ全くの全て白紙からスクリプトのスの字も知らない状態から
1週間たらずでそこそこいじれるようになった
くじけない心
さえあればどうとでもなるよ
とにかく詳細なマニュアルなんてそれこそ日本語なんて
今だにほとんどないから
ある程度CShelpとかで基礎覚えたら
まじでひたすら起動&エラーチェックで動作確認オンラインするしかないよ
そうとも!かくいう俺もさっきから5連続CTD嵐に巻き込まれてる。 本格的に弄り始めて一週間だから、一番楽しい時期かもわからんね。
エキサイトとアホー辞書の2トップお勧め エキサイト翻訳で明らかにおかしいのをアホー辞書に 打ち込んで正しそうなのを探せばなんとなくわかるはず
>>426 確かにスクリプト翻訳とか俺の方が恥ずかしいわなw
>>429 いやいや、俺も戦国風山城作るために勉強中だから一緒に覚えようよ
>>429 それに、有名な狼少年氏も、ここで学んだと書いておられたしね。LOG残しておくなり
使えそうだと思うところを切り出して、メモ帳に貼り付けたりとかでも随分勉強になるは
ずです
過去ログ倉庫の検索機能とかもあるしね
みなさんレスありがとうございます。 このスレの方はやさしいですね。 がんばってみます。きっと完成させます。 ではまずスクリプトの勉強してきますね。
性病よりいいんじゃね? っ 性病感染 っ ワーム感染 (;゚д゚)えーと・・
なんかレベル低い質問になるんだけど両手武器を単純に CSで片手武器や盾に設定にしてもゲーム上では反映されないよね? 良ければどこを変更すればいいか教えてはくれまいか。 もしくはヒントを・・・
>>438 SSスレ103に片手から両手に改造した人のレスがあった。
転載
nifscopeで開き左のブロックリストを見ると上から3行目にSideWeaponと
あったのでAkaviriKatana2Hを参考にしてBackWeaponに変更してメッシュファイルを変名保存。
あとはCSでSweetKatanaの変名複製した分のメッシュ指定を上で作ったファイルに指定し直す。
あとは試してみれ。
>
>>439 ありがとう、できたよ。
このスレはホントにためになるよ。
やっつけだけど、 かなり強いんじゃね? ミスリルスケール着てもいいぜ?w 【 筋力 】 90 【 着こなし 】 36 【 攻撃回避 】 90 【 生命力 】 90 【 持久力 】 80 【 精神力 】 90 【 包帯 】 90 【 刀剣 】 98 【 盾 】 88 【 戦闘技術 】 98
盾を神秘に変えたらどうだい
443 :
441 :2008/12/27(土) 02:41:08 ID:aymME0xk
すばらしく誤爆してた
まじですいまそん
>>442 いや
いいんだ盾侍の話だから/(^o^)\
すいません。EvaluatePackageについて 教えてくれませんか? 一応CSヘルプ(日本語訳)は読んだんですが、 使いどころがいまいちわからないです。
AI Packageの強制切り替えですね。普通NPCは、現在のPackageが終了しな いと、次のPackageを探そうとしないので、こいつで強制的に次のPackage を探させて切り替えます。 使いどころとしては、私はクエスト作ってて、NPCに、任意のタイミングで 望みのPackage動作をさせたいときに使っています。 例えば、とあるタイミング(例:クエストAのstage 10)でNPCがplayerに 向かって来て話しかけるという動作をさせたいとする。 Find packageで対象をplayerのpackageを作る。 条件conditionを getStage A == 10 にしておく。 これをNPCのAIに入れておく。食う寝るといった日常生活Packageより 上に置いて、優先度を大きくしておく。 クエストAのstage10のresult scriptで、NPCref.EvaluatePackageとする 実際、stageが10になるとEvaluatePackageが走る ⇒NPCは今現在のPackageを中止して、次のPackageを探す。 作ったPackageがヒット、playerをFindしようとして向かってくる。 という具合に使っています。 こんな説明でいいのかな? わかりにくくてすいません。 他の使いどころは、何があるかな?今はちょっと思いつきません。
>>445 詳ししい説明ありがとうございます!
十分わかりやすかったです!
きゃあああCS落ちたああああ! オブリではよくあること。
よくある。セーブはこまめにだね。
オリジナルのベンダーを作って配置、商品の販売や雑談もできるのですが、 駆け出しで不安なのか、売れるものはなんでも売ってしまうらしく、インベントリに 放り込んだ衣類まで商品扱いにするので常に裸です orz CS上ではちゃんと着てくれるのですが… どのように設定すればよいのでしょうか。
>>449 NPCに着せるアイテムを新規に(コピーで)作って、プレイアブルのチェックを外すと
売らないアイテムになるんじゃなかろうか。
と、想像で語る。FO3もオブリビオンも同じだろう、きっと。
>>450 丁度いまそれを試したところだったんですが、やっぱり裸でした。
他の商人のデータを参考にあれこれいじっているのですが、着てる物は特製
というわけではなく…。どこで設定してるんだろう。
もうハゲ親父がふんどし一枚で「よく来たね」とか言う店に行くのはいやだお…orz
売りたくないものは価格0に設定してみてー。
価格0もやってみたんですが効果無く…。 ところが攻撃すると、こちらがインベントリに放り込んだ装備をちゃんと 装備してくれるんです。 なんだろう…全裸は彼のポリシーか? orz
すみません、自己解決しました。 いろいろいじる前のセーブデータで確認したらちゃんと服着てました orz なにかのきっかけで服を脱ぐ -> CSで修正 -> 脱いだ方のセーブデータで確認 していたので、いじっても効果が無かったという…。 お騒がせしました。
>>454 裸になるのは別問題として、インベントリの内容を売る/売らないの指定は過去ログを
「ベンダー コンテナ」で検索すると多分。
>>414 超激遅レスですが。もうWorldspace作っちゃったかもですがメモ兼用という事で。
「3072」というマップの初期値は水面ではなくて海底です。初期状態では全世界が水没
していて盛り上げツールで隆起させて陸地を作る、みたいなかんじになってます。
デフォの水面位置は4096です。
「デフォ」、というのは水面位置はセル単位で変更が可能だからです。
変更は、World→Cell→そのWroldspaceのセルのHasWater→Height、で指定します。
また、HeightmapEditorの機能が物足りなかったら、外部ツール→16bitグレースケール
のRAWフォーマットでImport、も一応可能です。
HeightmapをExportするとObのゲームフォルダ直下にQ1〜Q4.rawというファイルが
出来ます。それと同じ形式です。
Gimpでその形式が出力可能かは謎です。Photoshopは可能です。でも一般の画像処理
ソフトでObのHeightmapを加工するのは非常にしんどい気がします。
Importする際のファイル名や格納場所等詳しくはCSWikiの「Heightmap Editing」の項目を。
そこに外部ツールを使って地形を作る例もあります。で、そのツールにはbmpの
Import機能も付いてたりします。
あとオーバーレイはメニューにはありますが機能はしないみたいです。
すいません、確認したいのですが、以下は正しいでしょうか? Find packageを使って、NPC→playerに話しかけさせるとき、 最初に出てくるセリフは GREETING に設定しておく。 conversationのHELLOだったりしますか? GREETINGでこれまで動いていたのでこう信じていたのですが、 動かない状況が出てしまって、自信がなくなってきた。 両方で試してみてもうまくいかないので、他にも条件等がおかしいの でしょうが、問題を絞り込みたいのです。
>>457 「LucienLachance」のFindパッケと「Dark01Knife」クエでのGREETING指定を参考にしてみて
下さい。闇兄弟でプレイヤーをスカウトしに来る例の人です。
Find+HELLOで会話を開始ってやった事無いのですが本編中にありましたっけ。
>>458 ありがとう!参考にします。
Order of the Virtuous Bloodクエで最初のおばさんが話し
かけてくるやつ、あれがHELLOでやってるように見えた。
読み違いかもしれません。
>>459 MS23でRalsaNorvaloが駆け寄って来て最初の台詞「Pardon me, I'm sorry to〜」は
GREETINGで指定されてるみたいです。そのInfoの中でプレイヤーにMS23HelpがAddTopics
されて以降の会話が展開、みたいなかんじです。
「動かない状況」というのが不明ですが、NPCが話し掛けてこないのであればAIパッケ、
指定したのと違う台詞を話し掛けてくるのならGREETINGの指定内容に多分問題が
ありそうな気がします。
>>460 あ、本当だ。読み違えたようです。
指定と違う台詞を言ってくるので、条件指定の何かが違うのだと
思います。よくよく見直します。返答ありがとう!
>>461 Greetingの優先度が低いと別のGreetingが来ると思うので
TopicのGreetingの話してもらいたいinfoをカーソル左右で移動できるので上にもってくれば
話してくれると思います
VanillaのNPCのGreetingは固定みたいでVanilla以上の優先度を出してGreetingをさせるのは難しいみたいです。
GetisIDで指定したNPCしか話せない事柄よりも誰でも話せる条件のGreetingが上にあるなら
後者しか話さなくなる、という感じです。
>>462 設定した台詞を話してくれました。おっしゃる通り優先度の問題でした。
問題のNPCのclassがGuardでして、この条件で設定されている
VanillaのGREETINGの優先度が高かったようです。
ありがとうございました。
NifScopeでCopy BranchしたあとPaste Branchして くっ付けた部分がゲーム内で反映されないんですが 他に何か設定が必要なんでしょうか?
>>463 NPC→DialogueでGREETINGを追加していると思うのですが、Newで新しいInfoを作った後
Infoを右クリ→MoveToQuestをやってます?
指定したクエのPriorityが「60」とかの妥当な値なら他のGREETINGとの優先順位も適当に
いいかんじになります。
>>465 Quest作成windowのTopicで作っていました。
このせいで当該Quest以外との優先関係というものが、
考えの外になっていました。
指摘されるまでPriorityを全く別の意味で捉えていましたし。
勉強になります。
やった!クエ完成!小話ぐらいのクエだが。 このスレの皆様のおかげです。本当感謝しています。 DRで敵の首はねると懸賞金つくのが気になるが、もういいや。寝る。 Evil属性のfactionに入れとけばいいのかな?
factionをもつNPCは持ってるfactionが全部Evilじゃないかぎり、危害を加えると懸賞金がつきます
すみません基本的なことだと思うのですが自己解決できず質問お願いします。 今CSで地形にテクスチャを塗っているところで詰まっています。 そのセルで使われているテクスチャを参照したり削除したりする方法を どなたか教えていただけませぬか。
リアルタイムで読んでいたのに頭からすっぽぬけてました。 ありがとう。
>>468 さあそのMODをうぷする作業に戻るんだ!
>>468 私も店MODうpしたからそのクエMODもぜひ。
小話くらいのミニMODがもっと増えるといいなぁと個人的には思う。
幽霊狼召還できるようになるMODがあるんだけど、ミニクエストついてて
なんか雰囲気良くてお気に入りなんですよ。
新種族の身長についてなのですが CSのキャラクタータグから種族を選んでDodyDataの身長と体重を小さく調整して 種族を作ったのですが、気絶または死亡すると、サイズがみょんと大きくなります(元のサイズに戻る?) 気絶から回復するとまた小さいサイズに戻るのですが、これはCSで調整できるのでしょうか? それともNifSkopeでskeleton.nifを調整するのでしょうか?
>>473 >>474 話しがパクリで世界観?知らね、で作ってるからうpしにくいぜ。
あとMMM必須なのが痛い。
正月はネットから切り離されてしまうので、年明けてから考よう。
>>475 状況によって対応が変わります。
そのNPCがあらかじめどこかに配置されているのであれば、Race→BodyDataのスケールは
変えず、CSで配置したRef→Scaleを変えればOKです。
その種族をPlayableにしたい場合は、そのままNPCに流用せずDuplicateしてスケール
を1.0にしたPlayableでは無い別種族を用意、それでNPCを作って配置、Ref→Scaleで。
そのNPCがどこにも初期配置されておらず、スクリプトからPlaceAtMeされていたりする
場合は少し面倒かもです。その場合はまた別途。
>>477 レスありがとうございます。
実は上記の二つは試してみたのですがうまくいかなかったんです。
多分何かの工程が多いか足りないかしているんだと思うので
試行錯誤してみます。
ありがとうございました。
Beautiful Peopleのヴァンパイアの目を別のものにしようと思いました。 闇の中でも光る目がBeautiful Peopleに同梱されているので、 そうしたものにテクスチャを変えようとしていますが、どうもうまく光りません。 具体的には、 キャラクター→目→eyeVampireを選択し、RenEye05Glowを入れてみました。 テストとしてオッドアイにしたこともありますが、 その時は(光りませんでしたが)変更は反映されていましたので、 全くの見当違いではなさそうですが、まだ何かが足りないのだと思います。 あと何が必要なのでしょうか?
>>479 テクスチャはテクスチャだ。ただの絵だ。
それがどう光を反射するのかは別の設定かファイルだろう。
あいにく、どうやって設定してるのかはわからないが。
魔法の武器のようにエフェクトとして"光る"のであってテクスチャ画像が "光ってるように見える"わけじゃない
目が光る理屈は「グロウマップ(glow map)」とかその辺の気がします。
細かな解説は詳しい人がきっと。
>>479 そのMODってVampireはそのままで目が光ってませんでしたっけ。
試験的に改造してみるのならCharacter→Eyes→「eyeVampire」のdds指定をその
「Ren〜.dds」にすればOKな気が。実際その手順でやってみましたが光ってます。
目だけを抜き出し流用の場合は新年早々単にその手順だけを云々するのは少し不毛な
気がしてアレなので詳しくはナニですが、目玉のnif,egm,triとdds,_g.ddsを持って
来てCSでそのMODと同じに指定すれば多分。
ありがとうございます。何度か光るはずの目を選択してみたものの、 さっぱりでしたので、諦めることにいたします。
>>479 目のnifファイルを見てみてください
NiTriShape>NiMaterialPropertyで、BlockDetailsの中にEmissive Colorというのがありますが
これが黒(#000000)になってませんか?
これが暗い色だと思ったように光りません
>>486 反射テクスチャが強すぎると見た
nifscoopで反射率を下げたり、反射用テクスチャを暗めにすれば
いいんじゃないの?よくわからんけど
>>486 顔のオブジェクトが実は二重になってたりしないかな。
たまに武器で気がつかないうちに複製してたりすると、ゲームに持ってきたときに
妙に白光りしたりする。
Nifscopeでオブジェクトを確認したほうがよさそう
テクスチャファイルそのものの問題じゃ無い気はするな。 Normalmapが例え真っ白でもそうはならん。 ddsファイル側の問題な気がするな。 俺もNifskopeで確認に一票。 スルーしたかったがVoljinじゃー仕方ない。
しまった。Nifscoooooopeとか書けばよかった。書き込んじまってから気づいた。
新種族、流行ってるんでしょうか。
>>486 調査目的で色々自分でやってみるのなら、恐らくネタはOrcっぽいので「headorc.nif」と
見比べたりしてまずデフォのOrcと何が違っているかを確認して問題個所を切り分け、
絞り込んで行くのが良い気がします。
手っ取り早くすぐ動かしたいのであれば、顔が真っ白になる件は頭のnifの
NiTriStripsData→HasVertexColorsを「no」にすれば多分直る気が。
顔色の調整はOrcの頭用の.egtファイルを持ってきて名前を付け替えればとりあえず多分。
でも開発途中みたいなのでここで色々言うよりは直接作った人にフィードバックする
のが筋な気もします。
>>494 お返事ありがとうございます。
言われたところを修正したところ直りました。
色々と勉強中なのでOrcと何が違っているかを比較作業してみたいと思います。
>>直接作った人にフィードバックするのが筋な気もします。
そのとうりでした…つたない英語ですが検討してみます
ありがとうございました。
ぬあー。 初めて自作のMODを完成させて(金の入ったコンテナを追加する簡単なものだけど)、 CSの弄り方がちょっと判ってきて楽しくなってきた辺りで強制終了。寝る。
盾の大きさを変えようとnifskopeでスケールかえたんですが、 ゲーム内で上半身が消えてしまいます。 いろいろ調べたんですがやっぱり消えてしまいます・・・ どうすればいいんでしょうか? 教えてください。 このスレの方はnifskopeも独学なんですか?
緊張して肝心なこと書くの忘れてた。 Market District、Divine Eleganceの前に本が落ちていて、そこからクエストが始まります…。
>>498 乙!今OMOD化した。
クリアしたらCSで覗いてクエスト作りの参考にさせてもらうよ。
>>497 nifscopeはほとんど使わないから適当言うけど
スケール変更する時に比率が違ってるとかじゃないか?
頭が残って表示されてるなら、上半身装備に指定されてるのかもね。
>>500 うひっ。スクリプトファイルにはうっかり変数とか処理のト書をつけたままうpしてしまったので、
どうぞよろしくです…。基本的な処理しかしてないはずなので、
ある程度知ってる人にはまったく参考にならないかもです。
>>496 ええ、こちらもようやく動かせるようになってきてご機嫌に作業進めてたら強制終了。泣きながら
>>498 さんのクエストやってみますorz
>>497 単に盾の見た目の大きさだけを変える手順の話でしたら、その盾nifのNiTriStrips→
「Scale」の値を変えればOKです。位置や回転もそこで変えられます。
コリジョン形状も変える場合は少し操作が複雑になるのでまた別途。
で、NifSkopeに関してはマニュアルやチュートリアルを見て「独学」以外には無いのでは。
また、NifSkopeはnifという一つのフォーマットの単なるエディタですから、その操作
手順だけに終始せずにまず一般的な3DCGの概念を把握するのが近道だと思います。
単に場合毎の手順だけを覚えたり、自分の希望通りの手順が書いてあるサイトを探そう
とすると逆に超大変そうな気が。
>>498 遊ばせてもらいました。不条理系は結構好きです。
次にどこに行けば良いのか謎だったのでCSで調べながらですが。
>>500 、
>>503 レスありがとうございます!
どうやらノーマルマップがなかったのが原因だったようです。
こんな簡単なことでつまずくとは・・・
>>503 アドバイスありがとうございます!
やっぱりnifskopeは独学ですか・・・
いろいろ手探りで頑張ってみます。
>>504 遊んでくださってありがとうございます。
逐一更新されるクエストログや、途中で手に入るアイテムなどで
何をすればいいかわかるように作っていたつもりでしたが、作りが下手ですみません。
「取引先」との会話には気づいていただけたでしょうか?
あと、やっぱりクエストターゲットくらいはつけた方がいいですね。
>>498 遊んでみました。
家族が住んでいる家だけどファーストトラベルで行くとさっぱりわかりにくいので
町の住民か物乞いあたりにでもヒントを与えたほうがいいと思う。
あと、今息子を捜索中。やっぱりどこにいるか分からないので家を張り込んでます。
あと、不具合でゴーガンの家の名前がNPCの家の名前になっていました。
お?ここだなと思って入って行ったらゴーガンとメローナ(だっけ?)がいて
お前ら他人の家で何、食ってんだ!と突っ込みいれそうに。
>>498 プレイしてみました。同じく息子探索中。
先がどうなるか楽しみでわくわくします。
おそらくBetter CitiesのIC Marketとの競合だと思うのですが、
最初の本が地中に埋まっていた
IC Marketに戻ってきた時、柱の中にいる!状態になった
一応ご報告まで。
2個目は、話しの流れからひょっとしてこれが正しい進行なのか?
とも思いましたが。
>>508 BCはしょうがないんじゃね?
BC気にしてたらいろんなMODを置けない気がする。
>>509 そうですね、気にしすぎました。
息子見つけた。彼、ほとんど家に帰ってこない気がする。
>>498 さん、続き楽しみにしてます。
>>498 さん遊ばせてもらいました
面白かったです。
続きがたのしみです。
Error saving land height data for cell (*.*)Error correction attemptedがいっぱい出ました。 過去ログには「TES4GeckoのClean Pluginが云々」というレスもあったけど、 Unable to cleanと言われてダメだった。 Bethesdaのフォーラムとwikiの過去ログを読むと、 「あーそれはハイトマップエディタのバグですね。 超低い点か超高い点がいくつか出来てるとそうなるよ。がんばって潰してね」と書いてあった。 これだから新ワールドとか島自作は嫌なんだよぉ!
MOD作ってみたから投下→面白かったです、の流れはスレチだから該当スレでやらんか?
動作検証に徹した流れならまだ判るが。
厳密に
>>1 に従えとは思わんが、ここにMOD投下するとMODを作るテクニカルな問題以外のレスが
増えて情報収集でここ見てる連中の迷惑だと思うぞ。
ここは作者さんがバグ取りとかに詰まったときくればいいんでない ユーザーのバグ報告自体は他でも問題ないかと
>>512 HeightmapEditorのエラーは頻発します。もう諦めるしか。
作業の流れ的にはHeightmapで基本的な形を作ったら後はLandscapeEditでの細かな調整
作業になると思うので、その時にでもまとめてエラー個所を直せば多少は楽に。多分。
エラー個所をまたHeightmapEditorで修正してたりするときっと無限地獄に。
Heigitmapをsave→エラーが出た状態でもespをセーブ→ロードし直さなければまだCS上
ではセル全体の陥没は起きておらず、セル隅の陥没点だけをLandscapeEditのFlatten
Verticesでポチッと直せば陥没を防げます。やはり一個所ずつ手作業で面倒ですが。
本番用の地形は設計段階で充分検討してなるべく少ないHeightmapセーブ回数で済ませる
のが良い気が。練習用なら別にエラーなど気にせず無視で。
MOD作成支援スレ/相談スレの514へ こっち移動したぞ。 不具合箇所を探して欲しいとかなら判るが 単に作ったから晒すってだけならSS/MODスレかMOD紹介の方が良いだろ。 >・暇でしょーがないという人、試しに遊んでみてください。 であって、スクリプトやオブジェクトのチェックをしてくれという物でもない。 だから面白かっただの続きが楽しみなんてレスが付いてるんだろ。 その上で(SS/MODスレなどで)指摘された不具合が直せないとかで支援スレに持ってくるのは当然OKだろ。 君のいう >俺の場合、ICMarketの異空間で、ダミードアの向こう側に通り抜けてしまって、はりぼての家 >状態になったんだが、そう言う場合はここだよな。 は、判明している不具合の直し方という話だからまったく別のことだ。 具体的な解決策も何も俺が問題としたのはスレチでは無いかということだから、該当スレ行けと書いてるだろ。
議論スレと誤爆った。すまん
>>516 頻発は免れないみたいですね。フォーラムでもバグ呼ばわりみたいでした。
いっそこのエラーが出ても強引に保存し、読み込み直してハタ目にもわかる
あのどえらい陥没をわざと起こしてから修正するのも、修正する側からすると楽かも。
ある意味一目瞭然ですし。
>>514 はりぼてダミードア残ってましたか。チェックが甘くてすみません…。
息子のあたりまでちゃんとクエストが動作してることがわかってホッとしました。
噂話をうまいぐあいに出現させる手立てで詰まってるので、
またアドバイスを頂きにあがるかもしれません。
Anvilの住人限定でトピックを加えるとなると、ConditionにAnvilCitizenとかか…。
>>517 了解しました。これからはMOD紹介/相談スレで話を進めますね
>>519 「GetInFaction AnvilFaction == 1」でAnvilの住人全員にTopicが出ると思います。
追記) ***結構重要*** 上のチュートリアルに一箇所曖昧な個所が。 「INFO 3」の説明最後の「OR」指定は一番下の行のGetStageが「15」の行に指定する様に 読めますが、実際はその上の「20」の行に指定すると思います。 「(GetIsID Varnado == 1) AND (GetStage AAitem == 20) OR (GetStage AAitem == 15)」 が恐らく正解です。 説明の順番通りに操作するとTopicが出ずにクエが途中で進まなくなるかも。 上のespは修正済みです。
質問よろしくお願いします。 現在モデルの勉強中なのですが nifファイル以外で拡張子の違う同名ファイルがあるのですが、これは何をするためのファイルでしょうか? 仮にHead.nifに対してHead.egm Head.egt Head.mtl Head.obj Head.tri と言うファイルがあるのですが…
>>524 egm 頭の変形に関わるデータ。顔の変形や髪型が頭にフィットするために必要。
egt 肌のテクスチャをパックしたデータ。髭や眉の濃さなんかのテクスチャが詰まってる。
tri 頂点データ egmのモーフに必要?
mtl wavefrontOBJのマテリアルデータ OBは必要としない編集用
obj wavefrontOBJのモデルデータ OBは必要としない編集用
>>525 解説ありがとうございます。大分なぞが解けました。
>>526 このページ全然知りませんでした、情報ありがとうございます。
がんばって読んでみます。
xmarkerに魔法をcastさせることが出来るのに PlayMagicShaderVisualsはできない? これは当たり判定がないからでしょうか。
自己解決しました。
すいません、ポーズ作成で顔の向き固定にしない方法ってどうやればいいのでしょうか?
既存の髪型メッシュを加工して新しい髪型を作る方法について、wiki翻訳の原文の
http://www.niftools.org/wiki/index.php/Oblivion/Creating_New_Hair_Meshes ↑の手順で3番目の記述にある
To create a Bald mesh just dump a small rendered cube inside the original mesh,
and delete it (maybe you could get away with no mesh at all).
の部分を分かりやすく教えてもらえないでしょうか。
「作成した髪型メッシュに、適当にcubeを新規オブジェクトで追加し、cubeを消す(?)」
と自分は解釈しましたが、上手くいかないので間違っているかと・・・
>>531 翻訳「自作ヘアメッシュを作ります(とっかかりとして使用)。
禿メッシュを作る為に、小さくレンダーした立方体をオリジナルメッシュの
内側に落としてから削除します(全くメッシュ無しの状態になる)。
OBJ形式でエクスポートします。」
俺は試してないので詳しくは知らないが、ここでは禿メッシュを作るんだろうな。
で、次の工程でBethesda製のhair NIFと禿メッシュとをNifskope上で読み込んで
合体させる、という事だろう。
後は、おまいさんの何が上手く行かないのか、書いてくれないと誰も解らないだろうな。
533 :
531 :2009/01/07(水) 08:55:44 ID:CsLNLzEM
>>532 ありがとうございます。メッシュは全て消すのですね。
(その状態で何の情報がエクスポートされるんだろう?また色々試行錯誤してみます)
モデリングはBlender (2.48) を使っているのですが、
「小さくレンダーした立方体をオリジナルメッシュの内側に落とす」という所を、
よろしければ詳しく教えていただけると助かります。
立方体メッシュを髪型メッシュの内側(=頭の位置?)に作成する、という自分の解釈が間違いの気がして・・・
ちなみに自分が上手くいかなかったのは、その次にNifskope上で合体するところで
Bethesda製nifをload -> OBJファイルのImport
をやってみても、パラメータに何一つ変化が起こりませんでした。
CSについて質問です。 espファイルを作った時に誤ってフランチェスコを読み込んでしまい マスターファイルになってしまったのですが、 マスターファイルを外すことはCSで可能でしょうか? それとも別のツールを使うのでしょうか?
534 すみません、自己解決しました。 右クリックで何もでないので、もしやとも思いDeleteキーを押したら削除できました 初歩的な事を聞いて棲みませんでした。
二刀流MOD見てて思ったんですが、抜刀モーション無しに武器の持ち替えってできないんですか?
537 :
307 :2009/01/07(水) 13:50:32 ID:cD+KKv4q
OBSE使えばできるはず。
では、モーション毎に逆手持ちとかに切り替えられるって事ですよね。
パワーアタックの種類検出して、その種類ごとにSetModelPathでNIFを 切り替えてやればいけそうな気がする。 試したことないけど。
なるほど、自分が求めていたのとはちょっと違いますが グラフィックだけならそれで差し替える事ができるんですね。
>>530 やっぱPriorityじゃないですかね。スレ検索でも色々見つかると思います。
>>533 全部消したら.objをExport→Importしても何も起きない気が。
その項目を意訳するなら、
「適当に髪型メッシュを作れ(俺は有り物をネタにしたが)。禿頭を作るなら、小さくした
立方体を頭蓋の中に置いて「それ」を削除して(注:削除するのはネタのメッシュの方。
立方体は多分残す)OBJにExportすればいいよ((でも禿の場合はnifに)メッシュが全く
無くてもOKかも)」、てなかんじでしょうか。
で、とりあえず禿の話は置いといて。
まず、そのページに書いてあるのは「操作手順」では無いです。
髪型nifを作る上での留意点がヒントとして並べてあるだけなので、それを手順として
まんまなぞろうとすると混乱すると思います。
また、髪型は関係するファイルが多いので、どのファイルが必要でそれが無いとどう
なるかをまず把握しないと後々トラブルにハマる率が非常に高そうな気が。
続き)
そこで、オリジナル髪型を作り始める前に、まず有り物の髪型nif,egm,tri,ddsを全部
そのまま別フォルダにコピーしてCSで別髪型IDを作って指定、全く同じ髪型動作を
一度再現してみる事をオススメします。例えばそこの例の「darkelfmohauk」とかで。
egmが無いとどうなるかとか試したり。
そしたら今度はそのコピーしたnifをBlenderでImport/Exportだけしてみて現行Verでは
どうなるかを確認してみて下さい。
egmを使っている場合は多分微妙にメッシュの形がおかしくなって見えると思うので
↓これでegmを作り直します。
http://www.tesnexus.com/downloads/file.php?id=9360 この辺の髪型のCS指定とBlenderでの出し入れ操作の手順をクリアにしておけば後は
応用で改造でも何でもあまり悩まずに済むと思います。多分。
少し質問です。 BlenderでOBLIVION用の、ObjectのアニメーションnifFileを作ることは可能でしょうか? nifscope上でアニメーションしているnifFileを Import Animation ボタンを押した状態でImportしても Animation作成画面で再生ボタンを押しても何も動かなかったため、作れるのか作れないのかよく分からなかったので。
>>544 とりあえず動かす事は可能みたいです。
http://up-load.ddo.jp/upload/data/up22437.jpg (wmv)
上の例はcrystalball01.nifをNifSkipeで玉と台座の二つのノードに分けてBlenderに
Import、玉に上下動のObjectアニメを付けてExport、NifSkopeでBSXFlagsに
「EnableAnimation」を指定しただけです。
ノードを分けるのは別に必須では無く、玉だけが動いた方が格好良いかも、という
単純な理由です。あと、PlayGroup指定とかその辺がどこまで出来るかは謎です。
Blenderにアニメ付きnifのImportはちょっと分かりません。
こちらで試した範囲では無理っぽい雰囲気かもです。
CSで、Spellではなく魔法エフェクト自体を新しく作ることは出来ないんでしょうか。
>>545 わざわざありがとうございます。
クリスタルボールがウンニュン 動いてたのにはうけましたw
しかもそれで殴りかかるとはw
当初の予定とは違ったのですが、武器の方にもいろいろと使えそうですね。
アニメする武器MOD、期待して待ちましょう。
>>546 上の方に似た話があった気がします。
CSのGameplay→MagicEffectsの事でしたら新規追加は出来ません。
魔法エフェクト的なモノを自作する話でしたら条件と工夫次第で。
NifSkopeで親子関係Treeの編集はどうすればよいのでしょうか? 1つのBodyに複数のコリジョンを設定したいのですが Shapeをインサートしてもコピーしてペーストしても 0番のNodeの子になってしまいます。 CollisionObject/Body/の子にしたいのですが。 Spells/Sanitize/ReorderBlocksかなあとは思ってるんですがそこから先に進めませんorz
>>549 ツリー構造の親Blockには子Blockの番号を指定する個所があります。
親子関係を変えるにはそこを適宜変更追加で。
また、CollisionObject/Body/の子、には複数のShapeを指定出来ません。
「bhkListShape」にそのShapeを追加指定する必要があります。
無ければbhkRigidBodyと既存のShapeの間に「bhkListShape」をまず挿入します。
claymore.nifが一つのBodyに二つのShapeが付いている良い例だと思います。
任意の場所に水を設置するには どうすればいいですか?
>>548 ログをよく読まず、失礼しました。
「抵抗を無視してダメージを与えるエンチャント」を作ろうとしていたんですが、スクリプトを使わないと難しそうですね。
ありがとうございました。
>>550 おー出来ました。ありがとうございました。
他のnifを調べるってのは勉強になりますね。
いろんなModのnifを覗いて勉強してみます。
>>551 水面位置はセル単位での変更が可能です。World→Cell→HasWaterのHeightで。
Tamrielの「BlackRockCavernsExterior」セルとかが多分参考に。
床より高い位置にあるお風呂とか水族館的な物の場合はどうしましょう。
それっぽい半透明的なオブジェを作って配置、水だと言い張るしかないかもです。
>>554 自分の場合は高い位置に水を置きたかったんですが、
オブジェで言い張るしかないんですね。
レスありがとうございます。
GotoJailについて質問なのですが scriptでplayer.gotojailを使うと服役するときのmessageboxが 出るだけで特に移動することもないのですが何か他に要素があるのでしょうか? また他にプレイヤーを服役させる方法はないでしょうか?
>>479 遅レスだが今全く逆の状況で悩んでる
Cernasite DragonEyeというEyeをBP対応の形式にしようとして
適当に光らないRenEyeのテクスチャをテンプレにする形で貼り付けたら
なぜか目が光りだして困っている
原理は分からないが目を光らせたいときには使えるかもしれない
>>557 今「GoToJail」をObjectScriptで使ってみましたがうちも動きませんでした。
TopicのResultScriptでやってみると普通に動作します。
本編ではガードの台詞のResultScriptでしか使われていないのでそれ以外の使い方は
ひょっとするとダメだったりするのかもしれません。謎です。
もしクエ等の進行上自動的に牢屋に入れたりする必要があるのなら、とりあえず関係
NPCにStartConversationさせて何か一言喋らせてから牢屋に、みたいな流れにするしか
ないかもです。
>>559 なるほど。Resultからのみ有効なのかな
条件下で魔法を飛ばして範囲内にいるガードにPackageを与えて
PCをFindさせて、GreetingTopicから服役しか選べないような選択肢を強制的に出させることで解決しました
しかし、M.O.EのRealisticLawReinment PartTwoがGuardのTopic系を別のQuestに委譲させていて
本来のTopicを使わないようにしていた為、目的とした動作が起こらず
それに気づくまでかなり長い時間を消耗してしまった…orz
massagebox中で改行を使うにはどうすればいいんだろう。 拾ってきて完全に動作してるMODのソースを見る限り、 ---------- MessageBox "1行目 2行目 3行目" --------- で動作してるのだけど、そのソースを何も弄らないのに保存もできない。 試しに\nを使ってみたけど、ゲーム中ちゃんと"\n"が表示されましたorz
>>561 obse v0.14からのコマンドにMessageboxexというのがあってこれだと
messageboxex "今日も%r寒い"と%rで改行指定できるので
今日も
寒い
みたいにゲーム内で表示されます
>>561 >>562 さんご指摘の通りOBSEを使えばOKでしょう。
それかMessageBoxの幅に合わせて適当にスペースを入れたり。
で、細かな話を。
Ctrl+L(0x0c)を入れると「"」で括られた文字列を改行する事が出来ます。SaveもOKです。
でも改行して見えるのはEditor上だけでCtrl+Lはゲーム中の表示では無視されます。
そのMODがEditorでもゲーム中でも同様に改行しているのなら別の制御コードか
エスケープシーケンスかもしれません。それが可能かは謎です。
それか単に一行が長くなるのを嫌ってソース上の見た目だけの為にCtrl+Lを入れ、
実際には「一行目」と「二行目」の後ろに適当なスペースが入っていてゲーム中でも改行
している様に見えていたり。
MODとして正常に動作しているのにScriptのセーブでエラーが出る事は色々な理由で
起きるので、その文字列が原因かどうかはエラーの内容次第です。
質問お願いいたします 現状存在するクリーチャーにベルトOBJを追加したいのですが、うまくいきません ミノタウルスロードとインプはうまく出来ましたが、ミノタウルスとズゥライがうまくいきません。 NifSkopeでxivilai.nifを開き、あらかじめ作っておいたベルト0bjを Block DetailsからNiTriShapeを右クリックでBlock>Paste Branchで OBJを貼り付け座標を修正してTransform>Apply座標をあわせて、保存しているのですが ちゃんと反映されているクリーチャーと追加OBJが表示されないものがあります 多分、追加OBJの追加場所が間違っているのではないかと思うのですが 色々やってみたのですが、解りません。 胴体に追加のOBJをつけたい場合は何処にOBJを追加すればいいのでしょうか?
>>565 クリーチャーにパーツを追加するのに体nifに直接追加するのは少し大変な気がします。
システム的にはパーツ構成のバリエーションはそのクリーチャーのmeshフォルダに
パーツのnifを入れて「ModelList」で指定する方法になっているみたいです。
例えばこんなかんじで。
http://up-load.ddo.jp/upload/data/up22572.jpg (指定画面SS)
http://up-load.ddo.jp/upload/data/up22573.jpg (wmv)
上の例は頭と左右の角はミノタウルスのをそのまま、尻尾の剣はclaymore.nifの
NiStringExtraDataを「Bip01 Tail3」に書き換えて角度を調整したものをcreature\dogに
入れてModelListで指定してます。腰と同期させるなら「Bip01 Spine」とかにすれば多分。
なんか都市伝説に出て来る謎の生き物みたいですが。あくまでやっつけです。
尻尾に剣とかちょっとやってみたかっただけです。
で、諸般の事情でやはりどうしても体nifにパーツを直接追加する必要があるのでしたら、
まずその「ベルトOBJ」が何者かによってそもそもNifSkopeでやるべき作業かどうか自体が
変わって来ます。
その辺の詳細を含めて必要でしたらまた別途。
1からコンパニオンを作成しようとしています。followとstayはCSwikiを参照してなんとか仕組みはわかりました。 その次の段階のコンパニオンの荷物にアクセスするところでつまずいてます。 Red_Headed_Gang_Quest_and_Girl_Companionの以下の部分を参照してスクリプトを組みましたがトピックはでるが、インベントリーの画面を開いてくれません・・ なにぶん初心者なので原因がわかりません・・スクリプトに詳しい方ご教授ください。(mpcやggcも参考にしましたが自分には難易度が高過ぎました) 1専用サックを作り適当に設置。 2以下のスクリプトを改変(""の部分をクエストにあわせたものにした) 3「荷物をみる」のトピックを追加してresult scriptにset クエスト名.share(変数) to 1 をコンパイル。condition functionをGetisIDでfunctionparanetersをコンパニオンのID Scriptname JJJceciliaScript"スクリプト名" ref npcref"これの意味がよくわからん・・・" short sharestate"変数名" *short shareは別のスクリプト(クエストのスクリプト)に書いた。 Begin GameMode if JJJCompgir"(クエスト名)".share"(変数名)" == 1 if(isridinghorse == 1) set JJJCompgirl"(クエスト名)".share"(変数名)" to 0 MessageBox "Inventory function unavailable on horse." return endif if sharestate"(変数名)" == 0 removeallitems JJJsharesack01ref"コンパニオンの専用サック" set sharestate"(変数名)" to 1 JJJsharesack01ref"コンパニオンの専用サック".activate player endif if sharestate"(変数名)" == 1 && MenuMode == 0 set npcref to getself JJJsharesack01ref"コンパニオンの専用サック".removeallitems npcref set sharestate"(変数名)" to 0 set JJJCompgirl(クエスト名).share"(変数名)" to 0 AddItem PitCuirass 1 EquipItem PitCuirass RemoveItem PitCuirass 1 endif endif end
>>568 すまん
はっきり言わせてもらうと、
正直基礎どころじゃないほど全くわかっていないと思われるので、
まだこういうスクリプトは無理だと思う・・・。
まず、1から作るって言ってるけど
RedGangが導入されてる事が前提になってるよね?
JJJCompgirlはRedGangで使ってるスクリプトの名前だから
RedGang入ってなければ全く機能しないのは当然。
これが理解できないなら、
正直無理だとおもう・・・
個人的には応援したいんだけどさすがに・・・
ああそうだ一応、 refはちゃんと解説してるとこがなかった気がするので、一応簡単に refってのはゲーム内に実際に配置されているオブジェクトを指す ref npcconならnpcvonというediterID名(マップ内のオブジェクトを適当にクリックすればその項目がわかるはず)をつけられたゲーム内オブジェクトのこと このゲーム内に配置されているオブジェクトをスクリプトで参照するには ref 〜と最初に宣言しておかなければならない。
571 :
568 :2009/01/12(月) 02:58:49 ID:4hCAo+pZ
>>569 確かにCSwikiのcompanionのtipを見よう見まねで作ったばかりのド素人です・・
説明不足ですみません。一応JJJCompgirlとか変数名とかは自分のものに書き換えてます。
RedGangを選んだのはシンプルだったからです。
refの説明ありがとうございました。オブジェクトを参照するには必要なものだったんですね。
ってことは初めにコンパニオンのインベントリーを参照するためにref XXXXXXXXX(コンパニオンのインベントリーのID)を宣言しないとですよね
redgangのスクリプトを見るとその記述が見当たりません。ref npcrefのnpcref自体が特殊な変数かなにかでそのかわりをしているってことなんでしょうか?
>>566 うまくいきました。
確認のムービまで作っていただいて恐縮です。
CSで着せる方法とは眼中にありませんでした。
これだとオリジナルを変更せずにバリエーションが作れそうです。
ありがとうございました。
refは変数の宣言だよ。ref npcrefならnpcrefって変数を作るだけ。 それでset npcref to getselfとかやるとnpcrefにコンパニオンのIDが代入される。 最初は単純なコードで動作確認するのが良さげ begin gamemode if JJJCompgirl.share == 1 set JJJCompgirl.share to 0 removeallitems JJJsharesack01ref JJJsharesack01ref.activate player endif end これでもトピックでset JJJCompgirl.share to 1されれば、それを検出してインベントリを 開くはず。安全確認や後始末をしないので実用にはならないけど、会話とスクリプトの連係 は確認できると思う。
>>571 >>573 さん仰る通りスクリプト内での「ref」と言う表記は「short」、「float」と同様な
単なる変数の型宣言です。
配置したリファレンスオブジェを参照するのに特にあらかじめ何かの宣言みたいな
ものは必要ありません。
とりあえず
>>573 さんのコードを実際に動かしてみるのが良い気がします。
お話の雰囲気だと全体を一気に作ってデバッグ、みたいな方法よりも、ステップ毎に
少しずつ動作を確認しながら作るのが良さそうな気が。
確実に動作したらまた次のステップを数行追加して動かしてみる、みたいな。
で、その為にはまずNPCのインベントリ操作がどういう仕組みなのか、各ステップで
どういう結果になれば正解なのか、をまず把握している必要があります。
その辺が不明確でしたらまた別途。
refはゲーム内objectを使った変数って言ったほうがいいな
576 :
568 :2009/01/12(月) 14:45:44 ID:4hCAo+pZ
>>573 ,574
ご指摘、ご教授のうえコードを提供していただいてありがとうございました。
574さんのとおり少しずつ覚えていこうかと思います。今平行してCSWIKIのTutorialを漁っています。もちろん今後知識がみについて成果物ができれば
modを作成してみなさまに還元したいです。。
早速573さんのコードを変数名、クエスト名、荷物IDのみ変えてobjectのスクリプトとして新たにつくり、実行してみたところやはり
トピックのみでインベントリ画面に移行しませんでした・・・本当に教えて君ですみません・・
もしよろしければ手順確認させてください。はじめにコンパニオンの動作followとstayのみ、クエストのスクリプト、topicは作成済み
(CSWIKIのSimple Companion Tutorial通り)
1コンパニオン用のコンテナをつくり、persistennt regerenceにチェック、Reference Edit IDを設定。何処かに設置する。クエストのIDは
QuestName
2コンパニオンのクエストスクリプト(仮にCompquestscriptとして)にインベントリの変数を宣言する。この場合はshort Compshare
3 2とは別にobjectのscriptをつくり(仮にCompscript)573のコードを加工したものを打ち込みsaveする。
4Topicから「荷物を見る」といったTopicをつくり,goodbyeにチェック。resultscript にset QuestName.compshare to 1を入力してコンパイル。
conditionはGetisIDコンパニオンのID=1
577 :
568 :2009/01/12(月) 14:48:18 ID:4hCAo+pZ
>>575 575さんへ感謝ののレスが抜けてました・・ ご教授ありがとうございます。
NPCのインベントリを直接開くことはできないよ。だから手順としては
1. コンパニオンの所持品をどこかのコンテナに移動
2. コンテナをプレイヤーにアクティベートさせる
3. コンテナの中身をコンパニオンに戻す
で、コンパニオンのスクリプトでフラグを監視して、フラグがたったら上記の
処理を実行すればおk
トピックのresult scriptでやっているのはこのフラグたてだよね。
>>573 の例だと、トピックでset JJJCompgirl.share to 1されたらコンパニオンの
スクリプトで
if JJJCompgirl.share == 1 ;フラグが有効になった
set JJJCompgirl.share to 0 ;フラグをクリアしておく
removeallitems JJJsharesack01ref ;自分の所持品をコンテナに移動
JJJsharesack01ref.activate player ;コンテナをプレイヤーにアクティベート
endif
とコンテナを開く処理が走るわけ。
必要なのは切っ掛けになるトピックと、実際の処理をするコンパニオンの
スクリプト、それと処理に必要なコンテナ。この3つ。
>>576 チュートリアル通り作ったコンパニオンが動いていて、そのTopicの作り方に倣って
いるのでしたらTopic関係の手順的にはOKな気がします。
こちらでもNPCを作って試してみましたが
>>573 さんのコードはきちんと動きます。
後はコンソールで「show [変数名]」、「set [変数名] to [値] 」してみるのが良い気が。
荷物の会話の前後に「show QusetName.Compshare」して値を確認したり、
「set QuestName.Compshare to 1」としてコンテナが開くかを確認したり。
その結果次第でどの辺に問題があるかが恐らく分かると思います。
で、テストランは必ずそのespを含まないセーブデータで開始して下さい。お約束です。
あと、スクリプトの引数や演算子の区切りに全角スペースが混ざってたりするとエラー も出ず見た目正常なのに全く動かなかったりします。 区切りは必ず半角スペースだけなのを確認して下さい。 行頭行末以外はTabの混在もマズいかもです。
度々、すみません。 現在でもblenderの環境は2.45が推奨でいいのでしょうか? 順番が逆ですが Skopeがだいぶん使えるようになったのでblenderに挑戦しようかと… でもけっこう敷居が高いですよね。
その敷居は己が生み出したものである! とっつきにくいけど、慣れればモデリングはサクサクできるようになるよ。 まずはやってみないことには。最初は何をやっていいのか意味不明なんだが、 やってるうちに結構合理的に作られてるのがわかってくる。 ニコニコ動画にBlenderの解説動画載せている人もいるので、参考にするといい
ゲーム中スキングラードにある商店でキャラクターが床から20センチくらい浮いていたので Blenderでずれていたskhouseupperint03.nifをImportしてコリジョンのずれを直したあと Exportしようとすると WARNING: mass is zero 数行スクリプトの説明みたいなもの ZeroDivisionError: float division というエラーが出てエクスポートできなかったので 試しに他の室内用の建物メッシュをいくつかインポート後何も編集せずに エクスポートを試してみたところ同じエラーがでて無理なようでした。 他のアイテムや屋外用の建物をいじったときは問題なかったのですが 何かエラーの原因とかこうすれば出来るみたいな方法がないでしょうか。
すみません、自分で読んでもわかりづらかったので、 商店直し方でなくBlenderでエクスポートできない問題のほうをどなたかアドバイスお願いします。
>>585 ありがとうございます。PyFFのバージョン以外は画像と同じでしたので
1.0.0から1.1.0に入れなおしたところエラーがでなくなってくれました。
blenderでimportするとオブジェクトが球と四角錐で覆われた状態で出てくるんですが、 これは正常にimportされてるんでしょうか? かなり初歩的な質問だと思いますが、よろしくお願いします。 ちなみにblenderはv2.4.1 NIF scriptsはv1.5.7 pythonはv2.4 です。
スイッチを押すとXmarkerに召喚魔法をキャストするようにしたいのですが、 ref target begin onActivate set target to getParentRef Cast StandardSummonDaedrothExpert target end でCS上でXmarkerを関連づけたり、直接Xmarkerのリファレンスを指定したり してみているのですが、うまくいきませんでした。 Xmarkerにキャストするにはどのようにすればよいのでしょうか。
>>588 StandardSummonDaedrothExpert
という魔法は対象に向けて放つ魔法じゃないのでは?
(アクター.)cast 魔法 (ターゲット)という構文は、そうなんだけども。
ファイアーボールとかでも駄目なんかなぁ。
あああ、そういうことかぁ orz 試しに放出系の魔法にしてみたらちゃんと射出されました。 でも、ターゲット指定しないとCastは使えないようですし、試しにPlayerを対象にして みたんですがやはり作動しませんでした。召喚系の魔法の場合は別のファンクション になるのでしょうか。 CS Wikiをもう一度見直してきます。
592 :
588 :2009/01/14(水) 09:10:58 ID:Io3JeLD/
あれこれ調べてみたところ、どうやらスクリプトで召喚っぽく 作るしかなさそうです。 コツコツやるか…。
>>588 >>590 さんご指摘の通り召還魔法は「Self」SpellなのでCastのTarget指定は無視されます。
出現位置はランダムです。
また「Cast」はアクターの種類、アクター以外のオブジェクト、Spellの種類、その時の
位置関係によって実行されなかったりします。
例えばCast元にActivatorやXmarkerを指定した場合はTouchとTargetはOKでSelfはダメ
だったり。
いずれにしろご希望の動作によっては別の作り方にする方が早いかもです。
もし何かをActivate→特定の場所にクリーチャーを出現させるのなら、あらかじめ
クリーチャーを用意しておいてEnableしたり。
召還魔法の視覚効果を流用するならオブジェ化する方法が上にあった気が。
死亡時にフェードアウトさせるならここを。
http://cs.elderscrolls.com/constwiki/index.php/Make_character_disappear
>>592 かぶってしまいましたが。そういうことみたいです。多分。
>>596 nifskopeで肌のNiTriStripsに右クリック→Mesh→Update Tangent Space
これを試してみてください
598 :
596 :2009/01/14(水) 11:39:34 ID:MwNepq7e
>>597 うまくできました。
ありがとうございました。
死んでいるキャラの体の向きを知る良い方法はありませんか? Getangleだと生前の値しか帰ってこなくて、掴んで体の向きを変えても同じ値しか帰ってきません。
>>599 まず「Shirt_m.nif」って一体何者です?
「Shirt_m.nif」は ヒヨコストアーで販売されている服の一部です(ベルト部分)
>>600 システム上は無理っぽい気が。
でももしNPCでは無い単なるHavokの「死体オブジェ」を作れれば体のどれかのRigidBodyの
XYZをひょっとしたら返すかもです。
「死体オブジェ」がご希望の用途に適当か、またうまく出来るかはちょっと謎ですし、
仮に体のどこかのXYZが分かってもそれからいわゆる「体の向き」を出すには結構面倒な
変換式とかが必要な予感がしますが。
なんか面白そうですけど。
>>602 それ、人様のMODなのでバニラの別のヒト用装備を例題にしません?
で、とりあえずNifScopeだけの作業で済むかどうかを確認する為にCSでオリジナルの
XivilaiのIDを変えてテスト用のXivilaiを作ってModelListにそのnifをそのまま追加、
ゲームでどう見えるかをまず確かめて下さい。
その際、テスト用XivilaiはFactionを全部DelしてAIパッケも全部取ってAggressionを
0にして下さい。そうしないと別な面で色々面倒なので。
ついでに上の都市伝説犬みたいにcraymore.nifのNiStringExtraDatasを「Bip01 Head」に
書き換えたものも一緒にModelListに追加して下さい。
これはModelList追加手順自体の確認の為です。
ゲームでどう見えたか次第でどのツールで何をするべきかが恐らく分かると思います。
多分Blenderな気がしますが。
他にも別なヒト用装備を色々追加してみてどんな挙動になるか確かめてみたりして。
そこから先の具体的な話がまた必要なら似た挙動のバニラのヒト用装備を例にして話を
進めるのが良い気がします。
>>604 了解しました。
えっと、ヒヨコストアーの服をお借りしたのはベルトのサンプルがほかに見つからなかっただけで
テスト的に使わせていただいていました。すみません。
バニラ装備で何か無いか見てみます。
現在手探り状態なので全然応用が利きません。とにかく色々とやってみたいので
2日ほどかけて色々とやってみたいと思います。
ありがとうございました。
本当はFallout3の質問なんですがスクリプトの仕様はほぼ同じようなので 質問させてください。 特定のNPCとプレイヤーキャラの距離を測定し、ある程度以上まで 接近したら指定のBGMを流し、その後距離が離れるかNPCの死亡で曲を止めるという スクリプトは実現可能でしょうか? おそらくstreammusicか、Fallout3にはplaymusicというスクリプトがあるので それを使えばいいんだろうとは思いますが、 距離の取得のところや死亡の取得のところでつまづいてます。 どなたかご教示ください。
とりあえず今夜はゆっくり寝て、明日スレ立てたらどうだい。
とりあえず同じなのかもわからないし アドバイス仕様がないね どう考えてもここで聞く事じゃないよww
NPCのAIパッケージを設定しているところで詰まってしまったので どなたかヘルプお願いします。 PCがInteriorCellにいるときTamrielに配置しておいたNPCを 指定の時間に外からPCのいるCellに入らせたいのですがAIの設定では無理なのでしょうか
>>609 クエストスクリプトからMoveTo
で召喚すればいいとおもうよ
>>610 ありがとうございます。スクリプトは全く知らないので
AIばかりいじってました。これは単純そうなのでちょっとがんばってみます。
>>603 の話ですけど、「純粋死体オブジェ」を作るのは可能みたいです。
http://up-load.ddo.jp/upload/data/up22680.jpg (zip 犬の死体サンプルnif)
bhkBlendCollisionObjectを全部bhkCollisionObjectに置換、その他も適宜指定すれば
普通のHavokオブジェになるみたいです。えらい手間ですが。
GetAngleは最上位ノードの直下に実際の体のRigidBodyのあるノード(犬の場合はBip01
Spine0)を繋ぐとそのコリジョンの現在の値を返すみたいです。
>>606 距離の取得 は GetDistance (Begin GameMode のブロックになるかな)
死亡の取得は、当該NPCに貼り付けた Begin OnDeath のブロックで処理する。
・・・と、思う。
音楽の始め方や、(もっと重要な)音の「止め方」は知らない。
NPCの器用な魔法aimに憧れてガード中は前方の敵をロックオンするMODを考えてるんだけど 前方のref取得は簡単だけど敵のほうを向かせる方法が思いつかない。 PCの向き修正できるコマンド類、誰かご存知ありませんか。
方向指示ならSetAngleでいいと思う player.setangle x x みたいに
ロックオンいいなあ 三人称視点で戦う時に重宝しそう
>>614 「Player.SetAngle」で。
対象Refの方向なら「GetHeadingAngle」を。
>>609 激遅レスですが。
AIで作る事は多分可能です。でもご希望の動作によってはスクリプトを書いた方が
いいかもです。
その動作にどの程度の確実さが要求されるか、理にかなったNPCの動きが優先なのか、
状況優先で問答無用のワープ出現もアリなのかで作り方が大きく変わると思います。
AIの場合は特定時刻にPCに接近する所要時間を短くする為に実際にPCをストーキング
させるといいかもです。
Ambushパッケで特定のマーカーとPCの距離を判定、一定以内だったらそのマーカー位置
で待ち伏せ待機、みたいなかんじで。
このAmbushを複数用意、マーカーをTamriel全土に適当に分散で。有り物の流用でも。
どこに何個ぐらいが適当かは要実験ですが。
Ambush位置がPCの現在いる室内入り口と数セル程度の距離なら指定時刻の1時間以内
ぐらいには恐らく現れると思います。多分。細かなパッケの指定等詳細はまた別途。
スクリプトの場合の作り方はご希望の動作の詳細次第なので必要ならこちらもまた別途。
本来弓矢を使用しないクリーチャーに弓矢を使わせたいのですが、 矢の発射の方法がわかりません。 発射モーションは出来るのですが、肝心の矢が現れません。弓の弦も動きません。 同じ発射モーションを弓矢を使うクリーチャーや人に適用すると、 矢が出現します。 どうすれば解決できるのでしょうか? どなたかアドバイスをよろしくお願いします。
>>612 thx
普通のNPCとか相手にやるのは難しいかね・・・・。
>>619 クリーチャーに弓攻撃の追加そのものはした事は無いのでアレなのですが、
一般的に矢はそのアクターのskeltonの背中の「Quiver」ノードに装備したオブジェが
そのまま弓攻撃のアニメに使われてProjectileとして飛んで行きます。
その辺の整合かもです。
>>620 コリジョンの数自体は犬もヒトも大差無いっぽいみたいですよ。
尻尾無しならヒトの方が少ない気が。その辺は根性次第で。きっと。
ただ、ヒトはBip01Pelvisにコリジョンが無いみたいなので、GentAngleが目的なら
そこにコリジョンを追加したり、みたいな手当てがひょっとすると必要かもです。
623 :
614 :2009/01/17(土) 19:36:58 ID:epnPQTYC
おかげさまで動く物は作れました。
下のソースはBlockボタンを押している間、目の前のActorをロックオンするものです。
近接戦闘で逃げる相手にうまく魔法を当てると言う目的はなんとか果たせました。
http://up-load.ddo.jp/upload/data/up22767.jpg → txt
・縦方向のロックオンは諦めています。
・環境依存かもしれませんがfquestdelaytimeを0.01では、ガクガクしてたのでもっと小さくしています。
余談ですが0にしたら毎フレーム走るかな?と試しに0にしてみた所、ディフォの5秒として動作していました。
現在の課題として、ロックオン可能距離の延長があります。
現在はgetCrosshairRefでRefを取っています。(簡単なので・・・)
しかしActivate可能距離=ロックオン可能距離になり、意外と射程が短いです。
getCrosshairRefの前後のみgamesettingのiActivatePickLengthを書き換える事もやってみましたが
1.SetNumericGameSetting アクティベート可能距離をめちゃくちゃ長くする
2.getCrosshairRef
3.SetNumericGameSetting 元に戻す
このようにgetCrosshairRefの直前に書き換えても無駄なようで難儀しています。
しかし、テレキネシス系統の魔法を装備中はclothhairの動作が特殊になり
いくらでも遠くのRefをgetCrosshairRefで拾ってこれます。
この効果をどうにか得たいと思ってるんですが、何かアイディアはありませんか。
運用回避としてLongRangeLockonとか言うカラのテレキネシス魔法を追加しようとも思ったんですがまだやってません。
CSでMagicEffectを見てもソレらしき設定は見当たりません。
なんかハードコーティングしてある気もします。
矢が現れない件ですが、どうもnifやkfファイルの問題ではなく ゲームの内部処理のような気がしてきました。 bowattackのモーションを制御しているスクリプトなんかが あったりするんでしょうか?
>>623 三角関数を使ってもOKならプレイヤーの仰角は「Player.SetAngle x」で行ける気が。
プレイヤーと相手Refとの距離と高さでそれっぽい計算をすれば仰角が出ると思います。
iActivatePickLengthの変更は反映するのに1フレーム待つ必要があるみたいな事が
GetCDrosshairRefの説明に。
テレキネシスでの特殊な挙動の流用が可能かはちょっと謎です。
MagicEffectのグレーになってるチェックボックス辺りがいかにも怪しそうですけど。
>>625 なんとか形になってきました。
遠距離のロックオンに関してはサーチボタンを押してる間
一時的にテレキネシスのパワーを追加&装備する事で射程距離を伸ばすようにしました。
>MagicEffectのグレーになってるチェックボックス辺りがいかにも怪しそうですけど。
あのグレー、色々弄くったけど外れませんでした・・・。
質問スレで金べきなのか悩んだのですが… MODのマスター指定についてなのですが、仮にヴァニラに存在しない追加種族をMODに使う場合 BPをマスター指定する場合と、MOD自体に追加種族の情報を持つ場合では 実際のゲーム画面で処理の速度は変化があるのでしょうか?
× 質問スレで金べきなのか悩んだのですが… ○ 質問スレで聞くべきなのか悩んだのですが… すんません。
オブジェクトを消すときID.disableってしてるんですが、 オブジェが多すぎる場合はどうすればいいのでしょう? 地道に一つずつやってくしかないでしょうか?
親子関係を指定してやれば、親をdisableすれば子も消える。 オブリゲートとかが参考になるよ。 リファレンス編集ダイアログの「enable parent」のタブから指定。
RPGでよくある 部屋に入る -> 扉に鍵がかかる -> 敵が出る -> 倒さないと外に出れない というシーンを作っているのですが、スクリプトはうまく作動しているものの、 どうも室内で戦闘すると敵がよく次元の狭間に落ちていってしまい、ゲームが 進まなくなってしまいます…。 次元の狭間に行かないような、そんな工夫はありますでしょうか。 普通に歩き回ったりする分には問題ないのですが、戦闘になると落ちやすい ようです。プレイヤーも、死亡するとその勢いでよく次元の狭間に落とされます。
自分の体験したクエストだと、こんなのがあった。 レバーを引いて柵を下ろす→柵の内側に入る→あるところまで進むと柵が上がる→ オブジェクト(敵の日記だった)をアクティベートすると敵が現れる→敵を倒すと柵が下りる 参考になるかはわからないが、二回プレイしてどっちも大丈夫だったよ。
いや、どうも戦闘を想定していない場所(普通の屋内)で戦闘したため、 コリジョンが薄いのか向こう側に突き抜けてしまうような感じでした。 3〜4回に一回は向こう側に行っちゃうので、敵が倒せなくなり先に進まなく… というわけで室内の外側に壁を立てかける事で少しだけましになりました(^^; それでも10回に1回くらいの割合で向こう側に行っちゃうのですが… 念のため、敵が外に出ちゃった場合の救済策も入れ込んだので、これで どうにかしようと思います。 やれやれ(^^;;;
636 :
632 :2009/01/21(水) 00:10:11 ID:uZgKxd6X
ID変わっちゃったか(^^; 武器やアイテムを地面に置いたときにどっか行っちゃうのは経験していたんですが、 重要な敵キャラが消えてしまうとどうしようも無いですなぁ。
movetoすると突き抜ける事があるけどdisableされてるものをenableなら大丈夫じゃないかな?
638 :
名無しさんの野望 :2009/01/21(水) 01:49:32 ID:pZ5mCHiD
何故にこのスレでその手の質問をする とりあえずクリックできる所は全部試したのか?
>>638 質問スレ池
まぁ、英語読む気が無い時点で相手にされんと思うけど
>>635 戦闘の発生する部屋をエリアロードする扉でつなげて2部屋
構造にしたら、一つの部屋で次元のハザマに落ちた敵が
ロード移動で追いかけて来る形になりませんでしょうか。
>>641 ロード移動も試したんですが、追いかけてこなかったですねぇ…。
いくつかエリアをまたげば追いかけてくるのかもしれないですが、
それはそれで密閉空間にならなくなるので(^^;
落下中で時間かかってるのかなんなのか、しばらく戦闘音楽鳴りっぱなし
なんですよね。
ずっと下の方にでかい板敷いて、落下したらそこにぶちあたって死亡する
ようにもしてみたんですが、それよりも飛ぶ範囲の方が広いようで死亡する
事なく落下してったようです。無限地平にしないとダメか。
結局あれこれやった末、再召喚できるようにして対応しました。
Samurai Sword OBSEを実装して、一部修正加えたりなぞしている最中なのですが プレイヤー側では「腰差し、両手構え」の動作はちゃんと動くのですが、コンパニオンに 渡すとただの片手剣になってしまいます。 ちゃんとGetcontainerで持ち主を判断して、プレイヤーに依存しないようなスクリプトに なっているのですが…。 具体的には Ref Who Ref Shield Begin OnEquip setWeaponType 0 set Who to Getcontainer set Shield to Who.GetEquippedObject 13 If Shield != 0 Who.UnequipItem Shield endif end この処理で、装備したときに盾を持っていると外れるようになっていますが、 コンパニオンに渡すと盾を装備したままになります。 もしかしてOBSEのスクリプトはプレイヤーにしか作用しないようになって いるのでしょうか。
想像だけど、盾外れた直後に再装備しちゃうのではないかな
>>643 プレイヤー以外のアクターで動作させたい場合には「OnEquip」は避けたが良いかもです。
OnEquipは装備時に必ずそのブロックが呼ばれるかが実は微妙に謎です。
プレイヤーが自分で明示的にインベントリから装備する場合は確実に呼ばれますが、
例えばコンパニオンでよく使われるAddItem→EquipItem→RemoveItemみたいな再装備の
時や、AIパッケでの再装備、自分で拾って装備した場合等のOnEquipの挙動が今一不明
だったりします。
>>645 な…なるほど…。
OnEquipブロックで装備したかしてないかのフラグを立てて他の処理を全部やってた
ので、その後の処理はフラグが立たずに全部スルーされていたの可能性がありますね…。
できることならGameModeブロックで処理した方が確実かもしれませんねぇ。
後で試してみることにします。
>>645 正解でした。
GameModeでも装備チェック&フラグ立てしたところ、無事コンパニオンでも動作しました。
各ブロックでのチェックと無駄な処理をはぶくのに一工夫必要でしたが、これでどのキャラ
でも無事に動くようになったので一安心です。
アドバイスありがとうございましたー
モーション(SpecialIdle)作成について2つ質問があります。どなたか教えて頂けないでしょうか?
@モーションループ(終了直前?)時のキャラクターの崩れ回避:
BlenderとNifskopeの使い方を勉強しながらモーション作成しているのですが、
どうも作成したモーションはCSの中で使うとモーション終了直前に体のあちこちがあらぬ方向に曲がってしまいます。
(Blender上やNifskope上だとならないが、CSと実機内だと発生)
これは何が悪いのでしょう?
どうも地面に近いモーションだとなるようなのですが…
例えば、この自作モーションの場合、ループ終了の直前に背骨が逆方向に曲がり
床にめり込んでしまうのです。
http://up-load.ddo.jp/upload/data/up22917.jpg .jpg=>.kf
ちなみに使用環境はBlender248a, Nifskope1.0.17, NIF script 2.3.13です
A直前のポーズとの間を平滑化するモーションの作り方:
CSをいじっていて気付いたのですが、Vanila(或いはSI?)のUniqueIdleAnimsにある
DaedricShrinePonder01〜03は直前のポーズとの間のモーションを滑らかに埋めて
Idleを行っているのですが、これは何かパラメータを指定すれば出来るのでしょうか?
いずれも、初歩的質問で「ここ見ればわかる」的なサイトがあれば
その参照を教えて頂くだけでも構いませんのでアドバイスをお待ちしてます。
>>648 @の終盤の動きが妙になるのは.kf内の各時間指定の不一致みたいです。
Blenderで時間指定のTextKeyを書いてTimeLineと.kfを整合させる手順を400辺りで
どなたかが書いてくれた気が。
Aはponder〜.kfに倣ってNiTextKeyExtraDataにTextKeyを挿入、「Blend: 20」みたいに
それっぽい数字を入れるとその値に応じて補完の時間が変わるみたいです。
@同様Blenderでそのテキストを書いてもOKかもです。
サイトについてはとりあえずCSWikiを「Blender」で検索すると解説が色々見つかります。
取っ付き難いかもですがやはり総本山なんで。その辺は気合で。
>>649 さん
どうもありがとうございます。
@については400前後のログを追ってみます。
また、Aはなるほど、あのBlend:xxにはそんな意味があったんですね。
見慣れないTextKeyでこれはいったい何をBlendしているんだ?
と思ったらそんな効能があるとは。
このあと或いは週末にでもあれこれ弄って、結果が出たらご報告します。
どうもでした。
バニラの町はBrumaからタワーが見えたりKvatchからSkingradが 見えるくらい遠くから見えるようになっているみたいなのですが 新規にこういう遠くからも見える町の外観は作れるのでしょうか
>>651 超遠くから一部の建造物が見えるのはDistantLODを用意してるんだと思う。
なのでそれを用意して、配置してやれば見えるようになる・・・のかな?
>>652 ,653
遠景用のメッシュを持ってそうなオブジェクトで外観を作ったあと
Update Distant Lodでうまくいきました。ありがとうございます。
>>654 TamrielにUpdate〜を実行したのでしょうか。
その場合は恐らくData\DistantLODにファイルが9千個以上増えている気がします。
それが邪魔なら「Tamriel.cmp」と、変更したセルの「Tamriel_x_y.lod」(x,yはセル座標)
だけ残して後は削除しても多分OKです。
他の地形MODとの競合も多少は緩和されるかもです。
>>655 ありがとうございます。助かりました。
山の斜面に直置きでない町をつくりたいのですが
遠景も綺麗に見せたい場合は中身が見えちゃう地形だと
いかに隠すか試行錯誤のようですねこれは・・・
>>657 それはBone。正常にインポートされてる。
邪魔だから消したくなるけど、消さないで他のレイヤーに移そう。
>>658 素早いご返答ありがとうございます。
正常にimportが出来てると分かって安心しました。
おいおいかわいそうだろw
BlenderもnifScriptも最新版入れとけ。
nifscopeは好みのバージョンで、まぁ最新版でいいと思うけど。
ポーズ作成は2.41の作り方よりも、今の環境のほうが圧倒的に作りやすいよ。
俺も食わず嫌いしてて、なかなか2.41から変えなかったんだが。
うpでとしたら、今までの苦労わぁあぁぁぁぁ
って思ったぜ。
内容がないようなのでちょいとお勧めしづらいが、今の環境でのポーズ作成だったらここがお勧め。
ttp://sumner.blog79.fc2.com/ オリジナルのespの作り方や、オブジェクト付のポーズまで解説してらっしゃるんでここだけでほぼわかるはず。
武器や鎧作りの場合でも最新版でなー
>>660 ポージング自体はBlender 2.41でも2.47でも問題なくできるんだが、
2.47で直接kf出力→NifSkopeで修正がどうしても上手くいかなくてな。
結局いまだに出力は2.41でnif出力してからkfextractor使ってるよ。
あと、全く同じ.blenderファイルでも、Blender起動する度に
出力できたりできなかったり、俺だけかもしれないけどよくわからなす。
>>647 完成品をTESNに上げたりとか、そういう予定はございませんの?
>>662 スクリプト組み込んだ方は「武麗堂」に並べる予定ですー。
まだちょっと他の作業で手間取ってるので公開までもうちょっと時間かかりそうですが。
スクリプトの方単体でも公開しようかと思っているんですが、元の作者さんと連絡
とってからにしようかと。
ランタンを製作中なのですが、手に持ったときと同じように 地面に置いたときも光らせ続けたいのですが、システム上ドロップすると 消える仕組みになっているようです。 そこでスクリプトでドロップした時に再点火するようスクリプトを書いてみたのですが、 点火のファンクションは「AddFlames」でいいのでしょうか。 試しに begin gamemode if DropMe AddFlames endif end とやってみたのですが、うまく点火されてくれませんでした。
>>664 具体的な回答ができなくて申し訳ないが
OOOに入ってる松明落としても火が消えない機能とかを
参考にしてみては?
>>664 そのスクリプトについては、まず「DropMe」は恐らく値を返さないファンクションなので
if文の条件式として使うのは無理があるかもです。
仮に使えてもGameModeブロックの中で毎フレームDropMeするのは多分マズいでしょう。
また「AddFlames」は単に炎のアニメを付けるだけで実際の光源とは関係無いです。
で、置いた状態でのTorchオブジェの光源をON/OFFをする方法は無かった気がします。
ランタン本体とは別の光源を用意して置いたランタン位置に移動、みたいなかんじの
少し力技になるでしょう。多分。
他のMODも同様な事をやっていると思います。
自力で作るのなら有り物MODも参考に、Dropされた事を検出→光源を出現させる→
ランタンが転がったら光源も一緒に動かす→拾われたかを検出→光源を消す、みたいな
各処理を少しずつ書いて動作を確認しながら組み立てて行くのが良い気がします。
Drop Lit Torches は確かに光源を無理矢理持ってくる処理をしているようですね。 点火や時間での消去もあるのでスクリプトが多くなっているようです。 参考にOOOで追加されるIlluminate Staff(松明代わりに光源になる杖)をCSでみたところ、 特にスクリプトを仕込んでいるわけでもなく、その杖のIDを対象にするスクリプトも無く、 ちょっと混乱してしまいました。 NifSkopeでのフラグも含め、設定をまったく一緒にしても、自作のランタンはドロップすると 消灯、OOOのIlluminate Staffは発光したままになります。 どこが違うんだろう orz
Fiery Arrowsは丁度導入していたのでスクリプトを確認してみたのですが、 やはり光源を別で持って移動させているようです。 さきほど、試しにタガーをトーチとして登録してみたところ、ドロップすると点火、 手に持つと消灯。というわけのわからない状態に orz なんだろなぁこれ…
>>669 Lightの設定項目の内「Off by Default」のチェックを外せば地面でも光りませんか?
>>670 それもやってるんですが…
CS上で室内に配置 -> 光る
拾って手に持つ -> 光る
拾ったやつを捨てる -> 消える
という…。
ダガーの場合は
CS上で室内に配置 -> 光る
拾って手に持つ -> 消える
拾ったやつを捨てる -> 光る
でした
うーん、もしかしてNifSkopeで見落としてる設定があるのだろうか…
失礼しました。それだけだとエフェクトが表示されるだけですね。 確か解決方法があったのですが、思い出してみます。スクリプトは関係なかったと思います。
どうも、やはりNif設定が影響しているようです。 試しにOOOのIlluminate StaffのNifを指定したところ、同じ設定で 手に持ってもドロップしても発光したままでした。炎を表示させないでいいなら スクリプト無しで同じ手法でいけるはずです。 これを詳しく調べてみようと思います。 完成まであと少し…!
>>674 なるほど、Nifでそんなことができるんですね。勉強になります。
これじゃどちらが相談してるんだかorz
…と、思うんですがまだうまくいかない。 人物・オブジェクトには光があたるようになったんですが、 なぜか壁や空間は光らなく…。ものすごく不自然な光源に。 なんだこれ orz CSで配置したときは普通に光ってくれるのになぁ
物を拾ったり、話しかけたりすることのできる距離ってどうやったら伸ばせるんですか? どうやって伝えたらいいのか・・・質問の意味わかるかな
StartConversationとかは動作が決まってるからねぇ・・・
>>676 バニラのteststaff.nif、hoe01.nifもDropしても光源が維持されるみたいです。
で、teststaff.nifに任意のnifの0番NiNode以下を丸ごとコピペ、元々あった0番NiNode
のCollisionObjectとChildrenをコピペしたそれに繋ぎ直すとそのオブジェは光源を
維持出来るみたいです。
繋ぎ直した後は元の杖のCollisionObjectとNiTriStrips、余ったブロックは削除しても
大丈夫みたいです。
とりあえず素ではダメだったapple01とbread01で試してみたところ持っても置いても
光源として光るリンゴとパンが出来ました。
理由は謎です。
杖のCollision、NiTriStripsをコピペの前に丸ごと削除するとダメみたいなので、
ひょっとするとNifSkopeで見えない未定義の領域をTorch関連でObが使っていて、
コピペと削除の加減でそこが残ったり残らなかったり、みたいな雰囲気かもです。
全くの推測ですが。
どうしてもダメだったらこれを。置いても光る松明スクリプトのサンプルです。
http://up-load.ddo.jp/upload/data/up23111.jpg WaterfrontにFTしてすぐ右に置いてあります。ご参考にでも。
>>677 623辺りでどなたかがその関係をやっていた気がします。
「SetNumericGameSetting iActivatePickLength xxx」とか。
>>679 なんというか…ほんとうに謎ですね。
試しにタガーのNiStringEctraDataを「Torch」にしてLight登録したところ、
置くと発光、持つと消灯、ドロップすると発光 というダガーができたので、
さらにそのNifのBSXFlagsを「19」に変更。
すると 置くと発光、持っても発光、ドロップでも発光というダガーができました。
これを同じ手法でランタンをダガー扱いにして出力、同じように修正したのですが…
やはりドロップすると光らなく。そのセルを出て戻ってくると光ってるんですけどね。
Blenderでオブジェクトを発光しているように見えるよう設定しているのがいけないの
でしょうか…謎です。
teststaff.nif、hoe01.nif試してみますね。
>>679 で書き忘れてましたが、ネタにしたteststaff.nifはBSXを「19」に、StringExtra
Dataを「Torch」にまず書き換えてます。
Lighitオブジェ指定は「Off by Default」だけチェックをはずして後は「Torch02」と全く
同じでテストしました。
あと上のサンプルはjpg→zipです。ごめんなさい。
光源化に成功したnifのサンプルです。ネタのteststaff改とリンゴとパンのnifです。
http://up-load.ddo.jp/upload/data/up23116.jpg (jpg→zip)
>>682 teststaff.nifも試してみたのですが、やはり同じ結果になってしまいました。
BSXとStringExtraDataも変換済みです。
うーん、ダガーやりんごでできるものがランタンでできないというのは納得いかない…
もし、お手すきでしたら、松明でも同じようにスクリプト抜きで発光できるか試して
いただけますでしょうか。炎はなしで、先端のみ赤く光るような感じでよいので。
ここであれこれ悩むよりあっさりスクリプト入れたほうが楽な気もしてきましたが(^^;;;
685 :
648 :2009/01/25(日) 23:34:04 ID:M2wIW3HX
>>649 さん
下記質問した者ですが、おかげ様でいずれもうまくいきました。
ありがとうございます。
----------
モーション(SpecialIdle)作成について2つ質問があります。どなたか教えて頂けないでしょうか?
----------
Text keyはBlenderで設定した方が確かに楽でこれはいいと思ったのですが、
Facial Expressionで2行以上設定したい場合(BlinkRightとBlinkLeftなど)の記述は
Syntax Errorで弾かれてしまうんですかね。
ENUM: Face〜\r\nENUM: Face〜など試したんですがこれだとCS側で解釈されないようで
とりあえずはNifskopeとの兼用で進めることにしました。
以上、ご報告まで。
>>679 いただいたスクリプトをランタンに組み込んでみました。
ちゃんと動作していまして…これで良いような…。
Lightの扱いがNIFによって違うのが謎ですし、不満ではあるのですが、
これ以上時間かけるのももったいない気もしますし(^^;
このスクリプト、そのまま使わせていただいてよろしいでしょうか。
>>687 ああ、申し訳ないです。
ありがとうございます。
無事できましたか…。
なんだろう、ますます謎ですね
早速確認してみます
>>685 とりあえず動いた様で何よりです。詳細はきっとBlender神の人が。
>>686 スクリプトの件はOKです。煮たり焼いたり好きにして下さい。
>>689 何から何までありがとうございます。
ちゃんと加工済みのNifの方は問題なく発光しましたね。
何がそこに隠れているんでしょうか…。
何はともあれ、これで前に進めそうです。
ありがとうございました。
回転切りなどで敵を切ると時々吹っ飛んで倒れますが それを意図的に起こすことはできますか?(魔法などのスクリプトエフェクトなどで)
「エアロハメ」はシャントットのエアロ(精霊魔法 風)→回避移動で距離を詰める→ エアロ→くりかえしがCPU(インビジ&魔道コースは不可、強さ最強も不可かも?)に当たるのを利用したハメです。 「スラブラハメ」はクラウドのスラッシュブロウ1回(2HIT)→すぐに相手の後ろに向かって回避→ またスラッシュブロウ1回(2HIT)→以下繰り返し→ブレイブが溜まり次第HP派生のことです。
>>691 CS v1.2.404だとPushActorAwayというコマンドがあるのでこれを使うと似たような効果ができます
詳しいことは相談スレ2にありますいくつかありました
midasに敵を吹っ飛ばす魔法とか竜巻の魔法とかあるよ
>>691 drain fatigueを1000ポイント0秒とかはどうでしょ
>>693 >>694 やってみます&見てみます
>>695 fatigueを0にすると飛ぶんですか?これも試してみます
>>694 出来れば自作してみたいな、と思いまして…
レスありがとうございました
「Retros Fur and Leather Armor Crafting」のスクリプトを、 MMMのモンスターに対応するように書き換えました。 書き換えたスクリプトを新規作成で登録し、 FurCruftingのespに上書きする形ではうまくいきました。 しかし、オリジナルのespには手を加えず、変更分を別のespに保存したところ、うまく反映されませんでした。 ゲームを起動した段階で、元のSkinningDaggerと、新しいスクリプトを設定したSkinningDaggerが 別のIDにされてしまっているようなのですが、別のespで設定されたアイテムを 同じIDで上書きすることはできないのでしょうか? 新しいSkinningDaggerを作ってゲームに配置するか、元のespへの上書きで済ませるか、迷っています。 アドバイスをお願いします。
>>697 >別のIDにされてしまっているようなのですが、別のespで設定されたアイテムを
>同じIDで上書きすることはできないのでしょうか?
master指定しなされ。
そうでなければ別espの内容物を弄る事はできない。
>>697 仰る様な「同じIDで上書き」は出来ません。
espがオブジェの定義を参照したり変更出来る相手はesmだけ、というシステム上の
お約束があります。
また、CS上では同時にロードした別のespの定義も参照出来てエラーも出ませんが、
実ゲームではその参照は無視されて正常に動作しません。
で、まず、その追加したいクリーチャーの定義ってesmとespのどっちでされているん
でしょう。
もしespで定義されている場合はそのクリーチャーIDの参照自体がそもそも不可能なので
対応を諦めるしか無いです。
esmで定義されているなら参照はOKなので、「元のespへの上書き」、元espを直接変更して
そのクリーチャーIDをスクリプトに追加する、のが楽でしょう。
esm化して変更はespで、みたいな方法でもいいのですが、色々要素が増えて話が複雑に
なりそうな気もするのでとりあえず元のespを直接改造するのがお手軽な気が。
>>698 ありがとうございます。
なるほど、esp同士はそういう仕組みなのですね。
早速、Wrye Bashを使ってmaster指定を試しています。
何が悪いのかうまくいきませんが、諦めずに色々やってみようと思います。
いや待て、参照は出来るだろ espで追加されたscriptを参照して変更したが、ちゃんと変更後の動作をしたぞ ただ、参照関係のない異なるesm,espは、同じIDを仕様しても上書き変更にはならないけど
>>699 アドバイスありがとうございます。
はい。幸い、「追加のクリーチャーIDをスクリプトに追加 → espを上書き」で一度成功しています。
参照できているので、MMMのクリーチャーはesmで定義されているようです。
(知識が足りないので、CSで弄るときにはespも読み込んでいましたが、不用だったようですね)
espへの変更分を、別のespに出来たら、構成変更とか、再構成のときに楽かと思っての挑戦でしたが…
仕様上無理、なのでしょうか。
esmを作る、まで行くと、却ってメンテナンスもし辛そうですね。
メリットがなくなりそうなので、上書きで満足することにします。
書き換えたスクリプトは、ロダに上げておきます。同好の、職人狩人たちへ。
現状、野山を歩いてるだけで、どこかで死んだ獣の皮が懐に転がり込んでくるので、
適当に成功判定の目標値を上げるなりした方がいいかも知れません。
おっと
>>702 レスありがとうございます。
……ええっと。混乱してきましたw
espをmaster指定するのは、Wrye BashのAddMasterであってますよね。
上手くいかないのは、ミスに気付けてないということに
付け焼刃でどうにかならないなら、地道にTESwikiとかあたって勉強するしかないですかね…
上書きespで遊びながら、目標にしてみようと思います。
704 :
703 :2009/02/01(日) 02:01:25 ID:amm0UmO7
espを参照したい場合、CSで参照したいespをオンにし(チェックをいれる)、編集したいespをActiveにする(何もActiveにしなければ新規)
で、編集したespを保存後、Wyre BashのAdd Masterでそのespに参照先espを追加する
CSはmasterとしてesmファイルのみを使うように想定されてあるので、CSだけでespをmasterには出来ない
必ずWyre Bashで追加しなおす作業が必要
ただ
>>697 のように参照元を作らないで編集したデータは上手くいかない
最初から参照しておく必要がある
というのも、esp内部では
oblivion.esmのデータ 00XXXXXX
参照esp1のデータ 01XXXXXX
参照esp2のデータ 02XXXXXX
そのespのデータ 03XXXXXX
って感じで扱われている
新規に追加したデータのIDは03XXXXXXになるが、
参照したesmやespのデータのIDは00XXXXXXとか01XXXXXXになっていて、そのデータを使用・上書きしているから
初心者的な質問です BP2chβ版がOMOD配布なんですが、それ入れてMPC動作させることは可能ですか?
>>701 >espで追加されたscriptを参照して変更したが、ちゃんと変更後の動作をしたぞ
それはscriptだからじゃないの?
scriptはRefのIDにLord Order入らないから。
>>706 βの中身なんか知らないが1.8と同じくesm形式だったらmaster指定すればできるんじゃない。
というか作成支援スレで聞くことじゃなくね? 問題なくできるがわざわざβ使う必要あるんかと
つーか ここは初心者質問スレではないわけだが・・・
あるespからあるespを参照っていうのはやろうとする事によっては出来るんでないかな 1. Oblivion CatsをOpen CitiesやHoarfrost城などに配置して正常動作。 2. Hoarfrost城のクエで使うXMarkerをOpenCitiesのWorldSpaceに配置して スクリプト等の参照先XMarkerを新たに配置したものに修正して正常動作。 3. JQ-BackPackの店をOpenCitiesのWorldSpaceに配置して正常動作。 どれもCSで必要なesp(OpenCities)にチェック入れて、変更を反映保存したいオリジナルespを アクティベートして作業(つまりオリジナルespを直接変更) 参照されるものが先に読み込まれるようプレイ時の相対的ロード順だけ 注意してレイバッシュは使ってないよ。
>>707 FCOMのespなんか見ると、NPCやLevel List、Itemsなんかも普通にespで定義されたものを別のespで上書きしてるぞ
CSでしばらく地形を編集したあと余計な変更を修正するために DetailListから変更を無効にしたいCellなどをIgnoreして消す作業をするのですが Ignoreした後ファイルをロード後セーブしても変更を消せず残ってしまうCellなどが よくできてしまいます。何か注意しないといけないこととかあるのでしょうか。
攻撃時パワーアタックの時だけ判定を出したいのですが if ( ■■■ =1 ) の四角の部分に入れるパワーアタック判定を教えていただけないでしょうか?
OBSEならできる。 リファレンスにPowerで検索掛ければ出るよ。
SSスレでmpcコンパニオンにAddItemできないと書いた者だが、すまない。 実行するブロックを移動したらちゃんとAddItemされました。 どうもコンパニオンとプレイヤーでスクリプトの処理が微妙に違うのが 戸惑うなぁ。 なんとか解決できました。
>>715 ,716
遅くなりましたがありがとうございます
しかしOBSEv15からか・・・
そろそろ14aから乗換え時なのかな・・・・
質問スレから誘導されて来た者です。 コンパニオンに新しいモーションを追加したいと考えています。 Ramyのモーションを見て自分でもやってみたいと思ったのが切っ掛けですが、 TESCでGGCを弄っていても、Idle Animations以降の改編方法が分かりません。 Ramyのようにコンパニオン独自のモーションをさせることは出来るのでしょうか?
出来るよ
>>719 CSでIdleの追加はできてるんだよね?
それなら条件を新規追加すればいい
・IDがGGCのとき(==1)
これに過去スレを参考にsittingやsleepingも追加してやればおkだったはず
死体に小細工するMODを作っているのですが、 召喚されたモンスターかどうかを区別する方法はないでしょうか。 IsSummonableやFactionを調べたりしてはみたんですが、無理でした。 (Summonフラグってゲーム中未仕様なんですかね?使用されてる所を見つけられませんでした) それとも、死後x秒経過しても死体が残っていた、とかで判別するしかないですかね・・・。
自己レス、SummonableフラグはNPCを召喚する時にしか使わないとCSwikiでわかりました。
>>722 死体が召喚モンスターのものかどうかがわかればいいの?
それなら召喚モンスターのスクリプトで、
if Getself.GetDead == 1
Getself.additem aaa???????? , 1 ;aaa????????は他のMOBが持ってないようなものを新規作成
else
Getself.removeitem aaa???????? , 1 ;念のため死んでいないときにはaaa????????削除
Endif
とでもしてユニークアイテムを付加
で、死体に小細工する方のスクリプトで
if Getself.GetItemCount aaa???????? != 0
;ここでやりたい処理を記述
Getself.removeitem aaa???????? , 1 ;処理が終わったら不要なのでアイテム削除
endif
という流れではダメなの?
getselfはなくても動くとは思うけど一応入れておいた
>>724 ああ、召喚時にフラグ的なものを持たせたり特殊なfactionを与える事は考えたんですが、
それでは追加MODでの召喚に対応できないもので・・・。
召喚されると自動的にfaction追加されたりしてねえかなあと
ペットのfactionを取ってみたりしたんですが無所属でした。
CSヘルプの和訳を探しているのですが、ブリーフケースが閲覧できず入手できませんでした。 どうにか手に入れる方法はないでしょうか。
>>728 頂きました。ありがとうございます!
自分もMODを作れるように頑張ります
あlそ消し忘れたのが悔やまれる・・・
こんなんできたよー、ということで晒し。
(ボス用)魔法「魔弾の射手」...のつもりで作ったがどうもいまいち。
http://up-load.ddo.jp/upload/data/up23651.jpg > 7z
火の玉が、一定時間ごとにtarget(player)の方に方向修正する
運でしか避けれない。魔法の速さが変わるModが入ってると
うまく動かないかもしれない。
coc aaTestHall
で移動した先にいる人に喧嘩を売ればそのうち撃ってくる。
帰り道とか用意してないのでそのつもりで。
OBSE必須
あげた後で気づいたが、火の玉が迷走することがあるな。 角度計算が間違ってるのかも。 こうすればいいよ、とか気づいたことがあれば教えてください。
プレイヤーのインベントリに、あるアイテムが追加されてからの 日数(時間)を計るような命令ってないでしょうか。 CSHelpを見てみたけどそれらしいのが見つからなくて。 スクリプトで無理矢理計るしかないのかな。
ないに決まってる
そっかーやっぱそんな都合いいのはないよな。 メイジ大の錬金チェストみたいに 別コンテナに移してから日数計算するしかないかな。 もうちょっと模索してみて、ダメだったら妥協してコンテナ使うか…
なぜコンテナ? 入手日時を変数に入れときゃいいだけに思えるが。
>>737 >入手日時を変数に
あ、アイテムがインベントリに入ったら
GameDayで日にち取得すればいいって事か!
なんか妙な思い込みをしていたみたいだ…ありがとう。
>>733 Projectileオブジェってxy角の変更は反映されます?
今ちょっとサンプルを書いて試した限りではz角だけしか反映されないみたいだった
のですが。
>>703 いつも激遅レスの
>>699 ですが、素のシステム条件を強調しすぎたので混乱させて
しまったかもです。
>>705 さん仰る様にWyreBashのAddMasterでespをそのままマスターとして他のespから
参照する事は可能です。
「esmにしないと絶対master指定出来ない」みたいに言ってスミマセン。
というか正直espのAddMasterってやった事無いです。
以前どこかで見た気もするのですが「へー、出来るんだー」、で忘れてました。
二つのMODに関わる変更をする、と言う事でまずデフォで何が出来る/出来ないの確認と
関係するesm/espの洗い出し、改造自体の動作確認も含めて元espの直接改造を強く
オススメした次第です。言い訳ですが。
余計なお世話で混乱させてしまったとしたら申し訳無かったです。
そう言う事でここはひとつ。
で、話が戻りますが、ツール類を使わずにシステムデフォ状態での「esp間の参照」は 出来ないと思うのですが。 その辺明確にしておかないとなんかキモチ悪いので少し蒸し返していいですか。 出来る場合もあるという事ですが、例えば、スクリプトの「変更」はその書き換え部分を 含めてスクリプトが丸ごとCS上で複製されて別物になるので単にそのesp単独で スクリプトを新規に書いたのと同じ事になったりします。 他espをロードしてそれを別なespのオブジェ配置の位置合せの目安にしたりする事も 可能ですが、それは「参照」では無く単に空中に配置したのと同じ事な気がします。 Tamrielの場合は。 他espで定義したWorldSpaceの場合は多分辻褄合せのWorldSpaceの複製が起きてうまく 行かない気が。 それとID名が同じオブジェを二つのespで定義している場合はそれぞれが別オブジェ としてロードされ、それなりに動作するのが「上書き」出来た様に見えたりする事も あったりします。 簡単な例を実際に作って試すのが早い気が。具体例が必要でしたらまた。
情けない位レベルの低い質問なのですが どなたかアドバイス頂けると幸いです。 あるアイテム(仮にApple)をいくつ拾ったか、をカウントしたくて プレイヤーがアイテム入手→セットしておいたGlobal変数に+1する という簡単なスクリプトを組み、アイテムにセットしたんですが どうも2回目の入手以降で「セットしておいたGlobal変数に+1する」 という部分がうまく動いていないようなんです。 global変数:Apple(初期値0) scn 0Test begin OnAdd player Set Apple to Apple + 1 Message "Apple = %.0f ", Apple, 5 End こういったスクリプトなんですが、 リンゴをいくつ拾ってもAppleの値が1から変わらないみたいで… どこか間違っている記述があればご指摘お願いします。
743 :
742 :2009/02/05(木) 03:56:13 ID:WM/mFVVV
うは、自己解決。 新しいesp作って全く同じスクリプトを作成したところ ちゃんと動くようになりました。 それにしても、複数個のアイテムを管理するのって難しいですね。 拾ったアイテムを条件別に区分したくて OnAddした時に条件別でカウント取ってGlobal変数にぶち込んでるんですが この方法だと「アイテムを一旦捨てて、すぐ同じ物を入手」すると ダブルカウントしてしまう… アイテムを捨てたかどうか判定できれば、カウントした数からマイナスできるんだろうけど Help見た限りではアイテム投棄判定はなさそうですね。
>>743 begin OnDropブロックでglobal変数から-1するようにしてみてはどうだろう
不自然でなければクエアイテムにして捨てられなくするのもひとつの手。
>>744 OnDropってコンテナからアイテム取った時に使うもんだとばかり
思ってました。というかあんまり意味がわかってなかった…
playerのコンテナを指定すれば確かにドロップ毎に-1できますね!
こんな初歩的な問題にアドバイスありがとう。
Helpの読み込みが足りなさすぎるみたいなのでもう一回熟読してきます。
>>745 食物などの消耗品を管理したいので
クエストアイテム属性にすると悲しい事に…
でも単純に獲得数をカウントしたい場合には有効ですね。
そういう方法もある事を覚えておきます!
Tamrielの地形をいじったあと遠景がかなり飛び出てしまったので Generate LODして修正を確認したあと、できていたMeshが 60.00.00.32.NIF、60.00.-32.32.NIF、60.-32.00.32.NIF、60.-32.-32.32.NIF の4つだけだったのでTamriel全土で4つということだと思うのですが これだとかなり他のModと競合しそうで悩んでいます。 これはもうどうしようもないのでしょうか。
>>747 あら、弁当が腐るMODが来るのかな(w
食物は
OnDrop が地面に落としたり、誰かに渡したりした時に走るし
OnEquip で食べたときに走ります。
ただ、Equip = 食べる = 消滅 だから
そのオブジェクトに貼り付けたスクリプトが
ちゃんと走るんだろうか?とも思ったり。
昔試したような記憶があって、ああ、喰うのもEquipなのか
というところまでは覚えているんですが…
>>749 なんでわかったんだ!笑
とりあえず、皆さんに頂いたアドバイスを元に少しずつ形にはなって来ました。
Appleを拾って3日経つと、3日前に拾った個数だけ
インベントリからAppleをremove、同じ数だけ「腐ったApple」をaddするような感じです。
カウントの古いものから順に捨てる処理は上手く動いてくれてるけど
(捨てた後再度拾っても「新しいリンゴ」としてカウントされてしまうけども)
食べるのはどうなんだろうか。基本は捨てる処理と同じなんでちょっと組み込んでみます。
>>749 試した事は無いけどVanillaでも何かの肉に食べた際に特殊効果とかあったような。
調べれば参考になるかもしれない。
ああ、そうか。 食べたときのエフェクトにスクリプト仕込んでおけばいいのだね。きっと。 捨てた林檎が「元々持っていたものと同一かどうか」の判定は、 システム上無理だと思います。 CSでインベントリに入るものに、GetSelf等のリファレンスを取得するスクリプトを 貼り付けると、警告エラーがでますし。
>>752 >システム上無理
ですよね。個人的に使うだけのMODだし、
そのへんはもう諦めるしかないかと割り切ってます。
そこの問題がクリアできれば冷蔵庫システムとか
干物システムとか作れたのになあ。
食べた時のエフェクトにスクリプト付けるのは早速試してみます!
問題外の初心者的質問かもしれませんが、 Unofficial Oblivion Patchに日本語化テキストをCSでインポートしてから、 保存しようとすると保存途中(2700kb付近)でエラーが発生し、保存できません。 ちなみに、上書き保存でも同じでした。 Oblivion Wiki JPに載っている手順そのままやったのですが……。 環境は、WindowsXPを最新までアップデート CPU:Intel Core2QuadQ6600 メモリ:2G グラボ:RadeonHD2600XT ドライバおよびDirectXはすべて最新です。
>>753 HTSは、食物の魔法効果のひとつがスクリプトエフェクトになっていて
それで腹具合をアレしていたと思う。
HTSはOnEquipだ
おお、と言う事は、OnEquipでもスクリプトは走るのだね。 1フレームだけスクリプトが走って、それで食物オブジェクトは消滅するという段取りか。
>>748 同じ60.xx.xx.xx.nifを持っているMODがあれば競合すると思います。
でも必要なのは変更を加えたセルを含むnifだけなので、それ以外は消しておけば運が
良ければ大丈夫かもですが。
それとは別に、Tamrielの地表LODのnifはその4つだけではないです。
32x32セルが一つのnifになるのでTamrielの場合はもっと多くなります。
領域の移動は「Overview」で。
また、もし32x32の領域が重なっている他の景観MOD等とどうしてもLODを共存させるの
でしたら、その景観MODを自MODと一緒にロードしてGenerateLODして専用Verを作ったり。
やった事無いですが。
>>758 なるほど、ありがとうございます
弄っている場所がシロディールの縁32*321つに収まりそうなので
そこまで気にしなくても大丈夫そうですね
>>739 ちょっと遅レスですが、733です
私もprojectileに対するsetAngleは手探り状態で、自信を持って答えられ
ません。midasスクリプトのこれかな?ってところ参考にしています。
とりあえず分かっていることは、setAngle x は何かしら反映される。
けども飛ぶ方向を仰角angにしたいから、ただsetAngle x ang
はどうも違うらしい。飛ぶ方向は変わらなかったり、変な方向を向いたり。
詳しい方、projectileの飛ぶ方向を任意のベクトル(vx,vy,vz)に変更する
方法を教えてほしいです。
761 :
760 :2009/02/07(土) 12:18:29 ID:Ha6f/Jdg
projectileの角度を変えるのでなく、projectileをdisable、 同じ魔法をprojectile位置からtargetにキャストし直す、 で方向修正したように見せかける方法をとってみた。 projectileの動きはそこそこいい感じだが、別の問題が出てきた。 敵NPCに撃たせているのだが、この方法にした途端、敵が2発その魔法を 撃った後は全く撃とうとしなくなる。マジカは十分あるし、よく分からん。 projectileをdisableしまくってるのがやばいのかな。 ということで引き続きprojectileの方向変更の方法、募集中,,,
>>760 Projectileはそもそもプレイヤーと同じz=水平回転、x=仰角みたいな変換順かどうかも
含めて謎なのでベクトルから角度への変換で方向を指定するのは少し難しい気がします。
z角についてはGetHeadingAngleが使えるみたいです。
x角は挙動自体が謎なので、仰角での指定はとりあえず置いておいてz位置の加減で
近似的に実現するのもアリかもです。
例えば、現在の弾のxyと前フレームのxyの距離、zの差で高さ方向の傾きが出ますから、
それを現在の弾と現在のプレイヤー位置のそれと比較すれば現在の仰角方向の傾きが
移動したプレイヤー位置と上下どちらにずれたかが分かります。
ずれの正負に応じてzのオフセット量を加減すれば弾のz位置はプレイヤーのz位置に
そのうち収束しそうな気が。多分。
とりあえず上の方法のサンプルです。OBSE無しでOKです。
http://up-load.ddo.jp/upload/data/up23891.jpg WaterfrontにFTした正面の塔から5秒に一回プレイヤーに向けて椅子型の誘導弾が発射
されます。
稲妻サーブみたいに瞬間的に方向を変えるのではなく、常時プレイヤーを追尾する
誘導ミサイル的な動きになってます。
そっちの方がとりあえず簡単そうだったので。
ただ、上下の追尾は分かり難いので、障害物の無い開けた場所で手摺無しの階段がたくさん
あるボスステージみたいな特殊な場所でないとよく判らないかもです
あと、あくまで思い付きのやっつけなので各部の計算が適当です。
ProjectileにGetDistanceが使えるかが謎だったので距離計算も自前でルートも端折ってます。
「撃ち下ろす」場合以外は判定がどうなるかも考えてません。
z角指定の0-360の正規化もしていないので場合によっては謎方向を向く可能性も。
フレームレートによっても挙動が変わると思います。
でもプレイヤーzに応じて何となく上下には動くみたいなので、こういう方法もアリかも、
という一例と言う事で。
764 :
760 :2009/02/07(土) 16:11:45 ID:Ha6f/Jdg
>>763 ありがとうございます。
なるほどです。参考にして色々やってみます。弾自体が違う方向を向い
ちゃってるのは仕方ないですね。
方向修正とは別のことですが、projectileがこの世に存在するかどうかの判定って、
getPosでの各座標の和が0かどうかで判定できるんだ。
知らずに、わざわざ複雑なことやってた。
761の方法で気づいたこと。projectileをdisableではなく、別セルに
にワープさせ消したように見せかければ次々と撃ってくる。
disable状態であろうが同一セル内に一定数以上のprojectileが存在すると、
NPCは魔法を撃とうとしない、とかあるのかな?
弾の絵の尻尾が変な方向を向くのは何でしょうね。 一般オブジェの描画の回転順からするとzだけを回すと確かに思わぬ変な方向を向く事もある と思います。 でも弾自体はzだけできちんと進行方向が変わるので、弾実体と弾の絵とでは座標系か何かが 違うのかもしれません。 その辺を考え出すと頭痛が。Projectileは謎が多いです。
ここで聞いていい物かわかりませんがちょっと質問です。 マネキンのようなオブジェクトを作っているんですが。 人体をBlenderでskeleton.nifにリギングしてposeをとらせたあと、そのposeのままオブジェクトとして扱いたいんです。 どうやってメッシュを固定したらいいものかわかりません。 できるはずだったと思うんですが。
>>767 どうもありがとうございます。
無事出来ました。
プレイヤーが一度インベントリに入れた(所有した)アイテムは そのへんに捨ててもリスポーンしなくなりますが、 「このアイテムはプレイヤーの所有物である」というのは どのように判別させているんでしょうか?
770 :
760 :2009/02/08(日) 01:40:45 ID:XzXZfGQf
>>769 判別と言うかセーブデータに記憶されるんじゃ?
>>771 いわゆる不可侵な領域なのね…
ありがとう、諦めがつきそうです。
何をしたいのかがわからないのでなんとも言えないけど PCのインベントリ経由で落とせばいいんじゃね。
プレイヤーがインベントリから捨てたアイテムがリスポンしないのは 変数なり条件なりでそのへんのアイテムと区別してるから って事だとして、そのあたりを弄ったり参照できたりするなら 捨てたアイテムを条件別にリスポンさせたりだとか 拾ったアイテムを条件別に細かく管理できたりするんじゃないかと 思ったんだけどもしかして見当違いなんだろうか。 単にOnDrop player とかでフラグ付けて処理するんじゃなくて プレイヤーがツバつけたアイテムを一元管理できれば楽なはず。 と、ここまで書いて そんな便利な事ができるならとっくの昔に誰かがやってるだろう事に気が付いた。 セーブデータの中身にまで干渉はできないよね。
>769 具体的にどういう事をしたいのか分かれば、 誰かが別のアプローチを考えてくれるかもしれないぞ。
うーん、上の方でやってた食べ物が腐る腐らないの話を見て 思い付きで聞いてみただけだから具体的にって言われると困るな… 例えば、装備類と錬金素材を同じ場所に捨てたとして リスポン後に戻ってくると錬金素材だけ土に還ってなくなってるとか 持ち家の中以外にアイテムを捨てたり置いたりすると プレイヤーの所有物とか関係なくリスポンさせる とか? プレイヤーがツバつけたアイテムを1として、それ以外を0とすると インベントリにあろうがチェストにあろうがそのへんに転がってようが、 1のアイテムだけ区別して管理するって事もできるんじゃないかなって。
店に売りつけたアイテムを修理して無駄なスタックを解消させようとしてるんですが、 単純にアイテムを修理する命令って存在しないように見えるのですが、そういう命令ってありましたっけ。 OBSEを見た感じ、ベースの最大Healthを変更したり、装備中の武器防具の修理ならできるようなんですが、 装備してない武器防具は無理のように見えます。 GetBaseObjectでベースアイテムを取って、新品をaddするしかないのかな・・・。 でもそれでは自作エンチャントに対応するのが面倒なんですよね。 実際にはそんなに自作エンチャントを売る事はないでしょうけど。 もしくはどこかにNPCを配置してこっそり装備させて直すか?w かなり泥臭いなあ。
>>777 自作エンチャントの武器防具は、「ベースオブジェクトがCopyされたもの」という
フラグが立ってるから、それで判別して捌けばどうだろう。一行で済む。
GetIsCopyedとかなんか、そういう関数がOBSEにあったはず。
779 :
777 :2009/02/09(月) 01:54:46 ID:guLShxbI
Containerを弄ってていくつかわかった点、 ・鎧や武具などは耐久度ごとに並ぶけど、ItemCountで数えると同ID扱い。 たとえば皮鎧が複数あったとして、そのうちの「壊れかけの1個」のIDを取る方法は無いのかも。 ・壊れかけを1個以上持ってる状態で個数を追加すると、壊れかけの武器が増える? 1度0個にしてやってから追加すると全快状態で増える。 (今回はこれを利用して何とかなりました) ・ペイントブラシは実は6種類もある。 花瓶系が2〜3種類あるのは知ってたけど、ブラシが6種は予想外。
elseif(条件) を else if(条件) と間を空けて書くと、エラーにはならず、if(条件) を無視して動くのか。 これに気づくまでに1時間かかった。
(;゚д゚)・・・
...!?
endifが足らないとエラー吐くくせに多い分にはコンパイル通っちゃったりした気もする。 あとOBSEの構文だけどpinrtoconsoleでパラメーターが足らない場合、 コンパイルは通るが実行した瞬間OBSEがエラー吐いてレア?なメッセージボックスを見れる。 他にはquest scriptで「reference.パラメータ不要のGet系」を書くと コンパイルも通りエラーも吐かないが、構文を実行した瞬間に止まったりifブロック抜けて続行したりたりすげー挙動不審。 1スクリプトを2つのクエストに当てたりすると1回実行した後止まったりもしたっけな。 とにかくCS(&OBSE)は不気味な仕様が満載。 Oblivion自体挙動不審だしなw
下記の手順で顔meshの改変をしてるのですが、本来NiTriShape下層にあるべき Bip01 Headなどの各NiNodeが0 NiNodeの下層になってしまいます 0 NiNode直下に移動するにはどうしたらいいでしょうか REN HeadなどのNiSkininstanceのBlock Datials>Bonesを見ると 各NiNodeがリンクされていて、これを再現できれば・・・と思っているのですが
>>785 なんとなくboneとmesheがバラけてるんじゃないかと思うけど、
NifskopeのSS晒してもらわんと何とも。
トリガーゾーンで遊んでいるのですが、うまくOnTriggerMobブロックが走ってくれず 困っています。一度あるセルで何かをTriggerした状態で、一度でもトリガーゾーンを 別セルに移動させると、二度とTriggerしてくれない、という状況です。 試したのは以下です。A,B,Cの3つのcellがあり、トリガーゾーンをTZとします。 TZの元の場所が倉庫的な扱いをしているA。OnTriggerMobがうまく走るかどうかを ○×で示します。 1.playerがBにいる状態で、TZをA->Bにmoveto ○ 何回でもOK 2.続いてCに移動、TZをCにmoveto(B->C移動) × 3.再びBに戻って、TZをBにmoveto(C->B移動) × (C,Bを入れ替えても同じ) 1.のB内でTriggerされた後、TZを一旦Aに戻し、再びBにmovetoしてもダメ。 reset3Dstateでリセットできるかも(根拠なし)と思い、移動前後でやってみましたが ダメでした。 何か必要な処理をやっていないのだと思うのですが、助言くださるとありがたいです。
モーションをblenderで改造するために、 既存のモーションのNiTransformInterpolatorの下に NiTransformDataを追加したいのですが、どうすればいいのでしょうか?
Idle.kfのscaleをいじってたらこんなのができました・・・
http://up-load.ddo.jp/upload/data/up24159.jpg 不思議なのは改造したモーションを削除しても、あるキャラには
スケールが継承されてしまいます。
また、他のいろいろなモーションにこの手の大きさが継承されます。
kfファイルを削除してもこうなるということは、
kfファイルの情報がNPCごとに保存されてしまうのでしょうか?
うまくこの現象を利用できればいろんなことが出来そうなんですけど。
791 :
790 :2009/02/11(水) 16:56:29 ID:VgMclzkc
すみません。思い違いをしていました。 画像はskeleton.nifのhandのスケールをいじった状態です。 モーションは通常のものです。 skeleton.nifはひとつなのにキャラごとに変形したりしなかったりするのは 何故なんでしょうか?
792 :
790 :2009/02/11(水) 17:15:04 ID:VgMclzkc
続けて失礼します。 skeleton.nifのスケールをいじると、セルが切り替わった直後に棒立ちしたキャラは skeleton.nifに合わせて変形していました。 動き始めると本来の大きさに戻るのですが、門の脇に立っているガードのような idleモーションのままのキャラは変形したままでした。このガードを殴ると でっかい拳のまま襲ってきました。 このようなsleketon.nifに合わせた変形が継承される/されない条件について、 詳しい方はいらっしゃいませんでしょうか。
>>788 まさにその方法ですね。MagicEffectスクリプトで移動させています。
tcgで確認すると、確かに想定通りの場所に存在していました。
念のためdisable->moveto->enable各処理の間を、1フレーム以上
空けてみましたがやっぱりダメですね。
>>793 TZ移動のサンプル作りました。jpg→zipです。
http://up-load.ddo.jp/upload/data/up24176.jpg プレイヤーの頭上に単純にTZを出現させる魔法と、頭上にTZを付けて移動するNPCです。
魔法は「player.addspell xx0015a9」して下さい。xxはロード時のFormIDを。
NPCはWaterfrontにいます。FollowするのでFTすれば多分そばに寄って来ると思います。
TZに体当たりしたり魔法か何かを打ち込めばそれぞれmessageが出ます。
TZの初期配置位置はTestingHallです。
NPCとTZがセルやWorldSpaceを跨いで離れたかどうかの判定はとりあえずGetInSameCellで
やってますが、セル境界で頻繁に判定に引っ掛かる可能性があるのできちんと距離で判定
した方が良いでしょう。
795 :
785 :2009/02/11(水) 21:54:03 ID:hfKG8YMv
>>786 ありがとうございます
何度かBlenderからのExportをトライしてみたところ、
思い通りに出来たり出来なかったりでなにがなにやら・・・orz
もうちょっと研究してみます
話は違うのですがもう一点
BlenderでImport→Exportするだけで頂点数が変わってしまうのですが
回避方法はあるでしょうか
ゲーム上で顔がくしゃくしゃになってしまいます
BlenderでImportする際に近い場所にある複数の頂点を一個とみなしてしまうんでしょうかね?
>>795 顔がくしゃくしゃになるのを回避するのであれば、
改変前のHeadhumanまたはRen_Headをインポートすれば大丈夫です。
一回改変したものを再度import→exportするとくしゃくしゃになります。
797 :
793 :2009/02/12(木) 00:31:19 ID:wwC7u6eS
>>794 様 ありがとうございます。
先ほど解決しました。
TZの親にXMakerを指定していたのがまずかったようです。
理屈は分かりませんが、親指定をなくすとセルが変わっても
うまくいきました。XMakerってのが悪いのかな?
ふう、やっと先に進める。
すいません、質問させてください。 たぶん初歩的なものだと思うのですが既存の装備をblenderで弄り保存しました。 出来たnifファイルをNifSkapeで表示できることを確認しテスト的にゲーム内のファイルと差し替えました。 ところが、装備させたところ装備部分が透明な状態になってしまいました。 (頭と足を除いた装備のため頭と足以外透明で見えなくなってしまっています) 実はこの前に既存データ→改変データAは正常に使えます。 その改変データAをさらに改変データBとしたところ上記のようになってしまったのですが原因かわかりますでしょうか?
>>798 Nifファイルのファイル名変えた?
espなりで設定されているNifファイルが存在しないとそうなったかと。
>>798 まずはNifSkopeでNiNodeの親子関係を確認してみては?
>>799 ファイル名は既存の名前をコピーでリネームしているのであっています。
2つくらいのファイルと差し替えたのですがこのファイルだけ表示されないことを確認してます。
>>800 正直NifSkopeは判ってないんですOrz
最初に作ったのがそのままで使用できてしまっていたので...
既存のデータとにらめっこすればいいんでしょうか?
なんとなく判りました... ダメなほうをNifSkopeで上から覗くとボーンらしきものが存在していません。 これがないと上記みたいな結果になるのでしょうか?
とりあえずそのボーンがないとそうなるのが判りました。 ちょっとNifScopeを勉強してきます...
AIパッケージで Findパッケージで目標物をXMarkerやXmarkerHeadingにして その目標マーカーまで移動してもらってるのですが どうしても目標地点に到達すると一瞬しゃがんでしまうのはどうにもならないんでしょうか? くだらない事ですし、我慢できなくもないのですが どうしても違和感が・・ 解決策がありそうでしたらおねがいしまっすorz
>>804 多分Findの使い方が間違ってる
Findってのは、対象をActivateしたり、話しかけたりするAIみたい
だから、FindじゃなくてTravelで移動させれば、しゃがんだりしないはず
ああ、途中でorz
>>805 すいません
まさに仰るとおりで
Travelにしたところ問題なく動作してくれました
まさかTraverlだったとは・・
先入観から試してもみずつまらない質問して申し訳ありませぬ
即レスありがとう!
CreateFullActorCopyとDeleteFullActorCopyについてお聞きしたいのですが
魔法1で
ref me
set me to getself
me.CreateFullActorCopy
me.moveto xxx
でCopyを作成して特定場所に配置、魔法2をCopyActorに打ち込んで
set me to getself
me.DeleteFullActorCopy
でcopyを削除をしようとするとCTDを引き起こしてしまいます。
目的はCopyを排除したいのですが何処が悪いのか判らず、問題のespを用意しました。
disableだと段々溜まって問題が出そうなのでなんとか消したいのですが
どうしようもない場合は隔離Cellにkill後全部放り込んでDisableしようかと考えています。
test用に使ってるespなのでゴミがいくつかありますがtxtつけました。
http://up-load.ddo.jp/upload/data/up24243.jpg jpg→zip
ttp://oblivion.z49.org/modja.html を見て、Wrye Bash経由のTESでScriptMessageboxes関係をいじってます。
Messageboxを読み込んだあとScript → SaveをするとUnknown variable or function '〜'と出て
Syntaxエラーになりセーブできません。
仕方が無いので今はメニュー部分のみ直にバイナリをいじって日本語化してます。
ScriptMessageboxesによるメニュー画面の日本語化で他にうまい手はないでしょうか?
TES4Transじゃ駄目なの?
>>809 水色のバックにしたいのならRender>SettingsのColor>Background変更するだけ。
あれは単にTona氏が水色にしてるだけで、好きにすればいい。
オブジェクトが白いのは考えられる理由が多すぎてそれだけじゃ原因わからん。
>>808 スクリプトで自分を消すのはマズいかもしれません。
例えばインベントリアイテムで自分をRemoveItemすると何かがマズかった気がします。
なのでアイテムの場合はRemoveMeという専用関数が用意されてたりします。
他にもMagicEffectScriptの場合は挙動が特殊になったりするかもです。
とりあえず改造して動く様にしたサンプルです。
http://up-load.ddo.jp/upload/data/up24262.jpg (zip)
クエスクリプトにRef型変数を一つ追加、アイテムオブジェ一つとオブジェスクリプトを追加、
消す魔法のスクリプトを変更してあります。
魔法スクリプト内でDelするのではなく、魔法Hitでクエ変数にRefを格納、アイテムオブジェ
のGameModeでそのRefを見てアクターを消しています。
GameModeループではなく、魔法Hit→別なオブジェをActivate、で良さそうな気もするのですが、
なんかうまく行かなかったのでとりあえず確実な方法に逃げました。
あとCreate〜やPlaceAtMeしたオブジェを単にDisableして放置するのはマズいです。
セーブデータのサイズがどんどんでかくなりますし、そのMODをはずしてもセーブにオブジェが
残るので非常にキモチ悪い状態になったりします。
814 :
810 :2009/02/13(金) 12:20:57 ID:NHNuHzD4
>>812 おぉ!バックは色自分で変えられるのですか。やってみます。
ありがとうございます。
しかしそれよりテクスチャがプレビューできない方が気になります。
どの辺を調べれば良いのでしょうか?
既にインストールされている装備MODも同じになってしまいます。
>>814 既存の装備が白表示なのはオブリ用のパスが設定できてないんじゃないかな。
同じくRender>Settingsで出てくるwindowの左上のAuto Detect Game Pathsで
オブリのTexturesディレクトリへのパス設定を自動でやってくれるけど、それやった?
補足 oblivion/data/textureまでのパス設定してある場合でも その装備がBSAファイルの中のテクスチャを指定している場合は白。
817 :
810 :2009/02/13(金) 13:19:45 ID:NHNuHzD4
>>815 >Texturesディレクトリへのパス設定
全くしていませんでした!だからだったんですね〜
ありがとうございました!
無事表示されるようになりました。
ついでにすみませんがこのプレビュー画面は上下左右動かせるのでしょうか?
拡大と回転は分かったのですが…
>>817 俺はマウスのミドルボタンドラッグでやってる。
調べたことないから2ボタンマウスとかは分からんわ。
>>810 OBSE必須MODを素のCSで保存しようとするとエラーが出ることもあるけど、
それではなく? 寡聞にして「Wrye Bash経由のTES」の意味がわからん。
色違い装備の追加をしようとしているんですが問題が発生しました。 元のnifをA.nif、色違いのnifをB.nif。元のテクスチャをA.dds、色違いのテクスチャをB.ddsとします。 B.nifにB.ddsを適用したところテクスチャを張り替えた部分だけ表示されなくなりました。 そこでB.nifにA.ddsを適用してみると正常に表示されました。 よってB.nifは正常? また、A.nifにB.ddsを適用してみると表示されませんでした。 よってB.ddsに異常あり。 また、A.nifにB.ddsをA.ddsにリネームしたものを適用したところ正常に表示されました。 また、B.nifにB.ddsをA.ddsにリネームしたものを適用したところ正常に表示されました。 以上からB.dds自体に問題があるのではなく名前に問題があるようです。 テクスチャを換えるときにNiSource Texture以外にddsを指定しなければならない項目があるということでしょうか? あれば教えてください。 わかりにくくてすいませんでした。
>>820 元のA.ddsにはセットになるA_n.ddsがあると思うのだけど、
それを複製してB_n.ddsにしないといけないんじゃないかな。
B.ddsをA.ddsにリネームして正常に表示されるのは、
既存のA_n.ddsを勝手にセットにしてくれてるからだと思う。
>>821 すいません書き忘れてました。
B_n.ddsも作ってあります。
B.ddsをA.ddsにリネームした際B_n.ddsもA_n.ddsにリネームして正常に表示されましたのでB_n.ddsにも問題はないと思われます。
表示されないのはゲーム画面でです。NifSkope上では表示されています。 連投申し訳ない。
ノーマルマップの不備なら真っ黒で表示されるんじゃなかったかな。 名前の文字列に入れちゃイカン記号使ってると Nifskopeでは表示できるけどゲーム上では表示されないとかあったと思うけどそれ系ってことは? 2バイトのアルファベット使ってるとかは無いだろうと思うし、それくらいしか思いつかんなー。
Nifskopeでは表示できるなら、CSで試しにNPCに着せて プレビュー画面で正常に表示できてるかどうか、はどうだろう。 それにしても不思議な現象だな。
お騒がせしました。自己解決しました。 A.ddsはblue.dds、B.ddsはnavy.ddsだったんですがB.ddsをa.nifとしたところ正しく表示されました。 同様にnblue.ddsは表示されませんでしたがdeepblue.ddsは表示されました。 頭文字にn使っちゃだめなんですかね?
>>808 ありがとうございます。
理解できました。
自分で自分を消すようなscriptはNGなんですね。
>>827 名前にnとgは使っちゃダメって装備MOD作成チュートリアルの前書きに書いてあったよそういえば
ほんとだ、勘違いしてたorz
>>827 試してみたけどddsファイルの名称の先頭文字をnにしても、こっちでは問題なかった。
もうひとつ試してみたけど名前に2バイトを一文字混ぜてみたら
Nifskopeでは表示できてでゲームでは表示できないという現象起きたから、
最初につけてた名前に2バイトが混じってたのに一票だなー。
何回も書き直したのに何故・・・w なにはともあれありがとうございました。
すいません、 ちょと初歩的なことなんですが CSのQuestTargetでターゲットを設定してやると、 常時MAPに表示されてしまい、 該当クエストのMAPをクリックしてやっても無反応状態になってしまうのですが、 MAPを押したにMAPを開いて?ターゲットを表示するというのは何か特別なやり方ってありました? クエストはいくつか作ったのですがそっちはちゃんと機能していて、 違いがよくわかりません。
すまんもうちょっとわかりやすく頼む。 できればSSを混ぜれば理解の助けになるかも。
すいません 言葉足りなすぎでした ちょっと今ゲームを起動できる状態ではないので・・・ >CSのQuestTargetでターゲットを設定してやると、 >常時MAPに表示されてしまい、 >該当クエストのMAPをクリックしてやっても無反応状態になってしまうのですが、 CSでQuestTargetを指定してやったのですが、 ”ゲーム内”のクエスト画面で右上のMAPってとこをクリックしてやっても 無反応で地図に切り替わらないんですよ。 通常だと、MAPをクリックすると地図に切り替わって該当ターゲットマークを表示してくれますよね? すいません ちょっとまたSSとって出直してきます。 即レスありがとうorz
レベルの低いはなしですみません。魔法で剣など自作オブジェを飛ばしたい。 Midasを参考に、飛ぶnifアニメが仕込まれたオブジェを用意、スクリプトから playGroup unequipでアニメ再生、でやろうと思っています。 そのようなオブジェの作成方法が分からない。既存のlongsword等のnifを 改造しようと思っているのですが、作業手順が見えません。参考Modのnifを nifskopeで覗き、真似してノード挿入・設定してみましたが見よう見まねでは やはり失敗。作業手順の概要だけでもアドバイス戴けないでしょうか。 Blender,nifskopeは、人のspecialidle用ポーズアニメだけはなんとか作れる、 というレベルです。
CSでArmorを見ると、Steelだけ・Elvenだけ、といったように表示できますが、 自分が追加した装備だけをグループ表示する方法ってありますか?
>>838 Meshes/Armor/の下に作ったディレクトリの名前が出るはず。
Meshes/Armor/JisakuArmor/JisakuCuirass.nifとかにすると、
Armorのツリーの下にJisakuArmorっていう項目が自動で出る。
すいません、過去スレ検索しまくったんですけど、よくわからなくて。 AddScriptPackageなんですが、これって対象のアクターに、 (別のアクターが持っている?)任意のAI packageを追加する、と言うことでよろしいんでしょうか? やりたいことはあらゆるアクターをスクリプトで任意位置に誘導したりってことなんですけど。 特定の椅子に強制的に座らせる呪文、とか。
任意のAIを追加するって認識でおk どのアクターにも使用されていないAIでも追加できるよ。 追加したAIがいつまで有効なのかとか、後始末が必要なのかなんてのはよくわからんけど
>>841 ありがとー。
細かいことは自分で試しまっす。
どのアクターにも登録されてないAIってのに気がついてなかったので、
重ねてありがとう。CSいじるの結構めんどいね(´・ω・`)
...〆(゚▽゚*) OBSEが必要なMODはMessageboxをインポートしても日本語化されない。 espファイルの中にMessageboxと同じ文章が埋め込まれている。
OBSE経由でCS起動すればインポートできるのでは?
845 :
790 :2009/02/15(日) 01:50:44 ID:6zNt4lhx
マルチですみません。とりあえず
>>790 の再現法がわかりました。
@NifSkopeでskeleton.nifのボーンのscaleをいじる
ACSで以下のスクリプトを作成
Scriptname 5RescaleBoneR
Begin OnLoad
EquipItem WeapSilverLongsword
End
BCSで適当なNPCにAのスクリプトを適用、
イベントリにWeapSilverLongsword, WeapSteelBowFine, 適当な矢を登録
Cゲームを始めてセルを切り替える
なぜかSiverLongswordとFineSteelBowを持っているときだけモーションが
Skeleton.nifに合わせて変形します。他の武器を持っていると再現できなくなります。
これはどういう処理が行われているのでしょうか?
スクリプトとsleletonの関連がわかる方、アドバイスをいただけませんでしょうか
847 :
846 :2009/02/15(日) 08:47:24 ID:EK+wUxrZ
>>844 できました。
これで翻訳作業が早くなります。
ほんとうにありがとう。
Oblivion始めてまだ5日なので、わからないことだらけです。
wiki見てもあまり詳しく書かれてないし…
しかし
和訳済みUOPの前でロードすると追加されるはずの重要な本が表示されない。/(^o^)\
和訳済みUOPの後でロードすると本は表示されるが、店員さんの名前が英語に戻ってしまう。\(^o^)/
最後尾でロードするための名詞部分だけ変更するespって作れるんだろうか?
これができれば誰の環境でも名詞日本語化できるのに…
ちょっと研究してみます。
本に限ればWrye Bashを使えば前者の問題は解決できる。 あと、完全に日本語化できた頃にはvanillaに飽きて 大型MODに手を出して日本語名詞糞杉とか言うようになるかもしれんw
849 :
846 :2009/02/15(日) 13:03:20 ID:EK+wUxrZ
>>848 > 本に限ればWrye Bashを使えば前者の問題は解決できる。
なるほど。
ほかの名詞にも使えたらいいのに…
>847の件でこんなことしてみました。
1. CSでOblivion.esmをロードして保存。空のespファイルを作る。
2. CSで日本語化UOPとターゲットのMODにもチェックを入れ、空のespファイルをアクティブでロード。
3. wiki意訳テキストをインポート。
これで日本語化がブロックされた部分だけが抽出されたespファイルが(゚Д゚)ウマー
ねんがんの にほんごかふぁいるを てにいれられるぞ
4. セーブボタンをポチっとな
↓
CSクラッシュ\(^o^)/
厳密に言えば名詞だけ日本語化MODってのは出来ないぞ。
最低でも文章単位で保存されてるわけだから。
アイテムなどは性能まで保存されてしまうのでコンフリクトの元になってる。
>>849 典型的なCSのバグ。俺もそうなる。
超手間だがGeckoで差分patchを作ると言う方法で目的の物は作れる。
851 :
846 :2009/02/15(日) 15:02:19 ID:EK+wUxrZ
Wrye Bashで空のespファイルにnameインポートできるかな?と思ったら CS「なにも変わっとらんから、なんもせんよ。ハゲ」 \(^o^)/
852 :
846 :2009/02/15(日) 15:12:25 ID:EK+wUxrZ
>>850 情報ありがとう
あるMODを入れるとNPCの名前や特定のものの名前だけが英語に戻るんです。
Wrye BashでNAMEをエクスポートして見てやると、Oblivion.esmを参照しているようです。
Oblivion.esmに日本語テキストをインポートすれば簡単に済む話なんでしょうね。
でも、NAME部分だけ最後にロードできるMODがあれば汎用性が広がるなあと思った次第です。
なんだ、アイテム類の名詞か。 インポートの話だから文章中の英単語のみを名詞化するのかと思い込んでた。 吐き出すcsvの2カラム目は初出みたいなもん。 『どのMODがこれを追加してるのか』になる。 つまりvanillaの要素はすべてOblivion.emsと出る。 オブジェクト名の名詞だけならCSを使う必要はない。 >Wrye BashでNAMEをエクスポートして見てやると そのファイルは何のために使うファイルなのでしょう。 batchを作るときにcsvを使うかどうか聞かれる項目はなかったか? なーーんて書いたけど俺も知ったのはつい最近
スクリプトをいじり始めたばかりの初心者ですみませんが質問です。 スクリプトで”「何かの変数」 == 1”と定義した値は、全てセーブデータに保存されるのでしょうか? セーブデータに保存されない変数は利用できるのでしょうか?例えば @セーブデータロード時 変数=0 ↓ Aゲーム中に 変数=1と定義 ↓ @にもどる といったことは可能でしょうか?
>>855 早速ありがとうござます。試してみます。
857 :
846 :2009/02/15(日) 16:52:43 ID:EK+wUxrZ
>>857 素材と運が悪いなw
BoAはmessageboxで改行を使ってるはず。正常にエクスポートされない。
espをテキストエディタで直接開いてmessageで検索かければわかるはず。
このmessagebox内で改行を使うっての
日本語環境(日本語キーボード?)じゃできないっぽくて困ったことがある。
OBSEでmessageboxexがあるから同じ事は出来るようになったけどね。
859 :
846 :2009/02/15(日) 23:54:20 ID:EK+wUxrZ
今度はHarvest Floraをつついてみました。 これはUOPの後にロードしないと効果が出ません。 花やきのこ類が英語表記になります。 Bashed Patchでうまくいくかなと思ったら、アイテム表示は日本語になるものの グラフィックの変化がなくなってしまいました。/(^o^)\ いろいろ設定を変えながら試し続けましたが結局ダメでした。\(^o^)/
>>859 Bashed PatchのImportNameで
しとしんUOP+Harvest Flora+Herbalismに成功してるっぽいよ、ウチの。
つい数時間前にやってみたことなので、安定してるかわからないが、あっさりとできた。
861 :
846 :2009/02/16(月) 10:22:03 ID:WwIViJr5
>>860 その後Bashed Patchでもう一度確認してみたら、
しとしんUOP+Harvest Floraは成功、
しとしんUOP+Harvest Flora+Herbalismは失敗でした。
Herbalismが入ると見た目はOKですがきのことか摘んでも
摘み取ったメッセージ表示なし&イベントリ内の数量も増加しませんでした。
なんでだろ?
ああ和訳モチベーションが下がっていくー('A`)
見た目はOKって事は case1.activateするスクリプトは動作してる→だったら処理はちゃんとされてるはず case2.自力で摘み取ってる(Herbalismを動作させてない) 何かを勘違いしてんじゃないの? 100%摘み取れると思ってるとか魔法を入手してないとか開始してないとか。
質問スレから誘導されて来ました、MOD作成というわけではないのですが
どなたかご存知の方いらっしゃいましたら教えて頂けないでしょうか
Idles_Poses_ReplaceでOneHandのポーズを入れると納刀時のSEが無くなってしまう不具合で
過去ログを調べるとkfファイルでSEを再生すればいいということが書かれていました
CSで納刀時のSEを探したところ、WPNBlade1HandUnequipというオブジェクトがあったので
NifscopeのNiTextKeyExtraDataのValueのところにSound: WPNBlade1HandUnequipと指定したのですが
SEが再生されません
ttp://cs.elderscrolls.com/constwiki/index.php/Facial_expressions_in_animations も参考に見てみましたが、指定の仕方には問題がないようで、手詰まりになって困っています
SE再生する為のkfに条件とかあったりするのでしょうか?
onehandのkfをnifに変換してblenderで読み込むとエラーが出るので
kf自体に条件や問題があったりするのかなぁとも思ったりするのですが
>>861 まだできるだけいーじゃんw
漏れなんて、そもそも直球ストレートな翻訳しかできないから和訳もクソもあったもんじゃない。
モチベーションなんぞ一瞬で0だw
865 :
860 :2009/02/16(月) 20:14:21 ID:5A6a08AO
>>861 英語苦手なオレとしては翻訳職人は応援したい。
がんばれ、ちょーがんばれ。
とりあえず関連してそうなモノのウチのロード順は、
JPWikiModAltSI_by_Cytosine.esp
↓
UOP.esp(しとしん済み)
↓
Havest[Flora].esp(Herbalism上書き)
↓
Herbalism.esp
で使用中(カーソルポイント時の表示は英語、インベントリ等日本語)だったところに、
最後にBashed Patchだ。参考になれば。
翻訳って言うよりテキストインポートで詰まってるだけだろこれ
>>863 NiTextKey〜で音を出す件はとりあえず置いといて、そのonehandidle.kfのNiHeader→
UserVersionを「11」にすると音が出ません?
Blenderで読めない件はとりあえず作った人に不具合状況と対策を報告して、ついでにどんな
skeletonでどうやってkfを作ったかを聞けば何か分かるかもですが。
>>866 翻訳するためのテキストインポートで詰まってるんだろこれ。
ううむ、言葉の定義になってしまう話だが俺はこれをいわゆる翻訳とは言わんと思う。 一連の質問と文章を読んでみればわかる。 早い話がゲーム中の名詞すべてしんとん準拠にしようとし詰っているだけだ。 (自分でUOP+Herbやってるならわかるだろう?その組み合わせで翻訳されてないのはSI植物だけだぞ、何を追加で翻訳するんだ?) 本当ならンなもん質問スレでたたかれて来いと思っているが いい具合にReadmeだけじゃわからないtipsが絡んでネタになってるので面白いなー、とレスをつけてる。 と言うか全部に返事してるわけだが。
870 :
846 :2009/02/16(月) 22:25:49 ID:WwIViJr5
言葉足らずですみません。 上記の件と平行して他のMODを9本ほど和訳しました。 ダイアログ・名称・本の内容・メニュー画面の書き換え等です。 Herbalismは本を読む前の動作がまずいので、本を購入する直前まで切っておくことにしました。 Bashed Patchはうまくいっているようです。 レスしてくれた方々ありがとう。 オブリビオン始めてまだ6日目の新参者なので躓きも多いです。(ーー;)
>>867 レスありがとうございます。UserVersionを11にしてみたのですが
11にするとオブリロード時にエラーが出て強制終了してしまいます
元の0にするとエラーは出ないので、どうも原因はこれではないようです
うーん・・・考えてみると、武器装備状態のアイドル時のポーズなので抜刀の際のSEが消えるのなら
わかるのですが、納刀時のSEが消えることからしてよくわからない・・・
追加で武器なしのアイドルポーズを追加すると、今度は、抜刀時のSEも鳴らなくなるんですよね・・・
仕組み自体よくわかってないので、もうちょっと調べてみます
すみません、追加ポーズから既存のポーズに変化する際にSEが鳴らないということですね 先のよくわからない発言は忘れてください・・・・
>>871 何でしょうね。
うちの環境ではバニラのonehandidle.kfのUserVersionを11から0に変えても全く同様に鞘に
収める音が鳴らなくなります。
また、そのkfにはバニラのskeletonに無いノードも含まれているみたいなので、むしろ動いて
いる事自体が偶然、という可能性も。
そのkfを再生する事で何かしらのシステム不具合が起きてその後のSEが鳴らなくなる、
みたいな挙動になる事もひょっとしたら有り得るかもしれません。
原因を特定するのでしたらその問題のkfとバニラのkfとで何が違うかを比べて怪しそうな
個所を書き換えてみたりして色々試してみるしか無いでしょう。恐らく。
>>873 ありがとうございます!解決しました
UserVersionだけ変更していたのですがUserVersion2というのも変更しないといけないんですね
UserVersionだけ変更していた為エラー落ちしたようです、最初から両方試せよ俺、アホすぎ
項目がグレーになってて変更できないのかと思ってました
バニラのkfと比較というアドバイスで辿りつけました、BSAファイルから抽出できるとは・・・
非常に勉強になりました、これからモーションを作成したりする時にも役に立ちそうです
数日間、詰まってたんですがスッキリしました、ほんとありがとう
>>869 とりあえず仕組みを勉強中で、後に翻訳してくれるんだと思ったわけだよ。
始めてまだ数日とか言ってるわけだし。
まさかスレタイも読めないアホではなかろうと。
>>870 オレはまだ信じてる。信じたい。
っと、考えておったわしも今年で108歳を迎えるのですじゃ
とところで、 NPC同士に会話させてると 話中に敵だかに反応して会話やめてしまうのだけど これなんとかならないですか? フィールドでやっているのでどうしてもいろんなものに反応してしまって どうにもConversation投げ出しちゃうのですが・・ 周辺にいそうなMobは全部Factionで友好にするとかしてるのですが もしかしてもっと楽に邪魔がはいらなくする方法ありますか?
>>877 そのNPCを一時的にCreatureFuctionに入れて「SkipFalloutBehavior」にチェックを入れた
AIパッケが動いている状態にすればクリーチャーから攻撃されず、かつ周囲で戦闘が起きても
無視するでしょう。多分。
MS06の幽霊NPCのForlornWatchmanPreとかが恐らく参考に。
でもそのNPCが普通の人なら戦闘で会話を中断するのが自然な気もします。
特殊なNPCだったりクエの山場等で固定動作が演出上充分有効な場合以外は、成り行きで動作が
中断したりプレイヤーが好きに立ち去ったりを可能にしておいて状況に応じてその会話が再開
する作りにしておくと違和感の無い動作になりそうな気がします。
>>878 ありがとうございます
まさにCreatureFactionに入れて
会話をしているときSkipFalloutBehaviorの入っているWonderパッケージ状態であることも間違いないのですが、
なぜか途中で一方が会話を投げ出して走り出してしまうんです。(少しうろついてすぐ立ち止まる・・
演出上どうしても邪魔されては困るものなので確実に完了してもらわないとこまるのですが。
どうにも原因がわからなくて困っています。
>>879 敵対するファクションの組み合わせは他にもあるかもです。
あと、AIパッケの種類も関係あるかもしれません。
自キャラを指定した地点まで動かす方法ってない? このところ関数の一覧と睨めっこしてるけど ひょっとして、ないのではないかと思えてきた
>>881 Player.MovetoMarker ○○
じゃだめ?
movetomarkerで思い出したけど それでNPC運ぶとめちゃくちゃずれない?すげーこまるw
>>882 ごめんなさい説明不足
トコトコと歩いて行ってほしいんですよね
ファストトラベルじゃ味気ないから、のんびりと進んでくれないかな、と
あぁ、自キャラだからAIは関係ないのか 確かElder Councilかなんかで衛兵の見回りの仕事があって、その間FT禁止になってるみたいだから参考にしてみたらどうかな
つまり、プレイヤーの操作を無効にして キャラクターが勝手に歩くようにしたい、と?
>>883 MoveTo〜自体はきっちり対象の座標に移動しますよ。
でもプレイヤーから見えない場所にNPCをMoveToさせてその後そこに行くと変な位置に立って
いたりします。
これは多分アクターのロード時の初期化や安全措置で一番近いPathPoint上にシステムが
自動的にそのアクターを移動させているのでしょう。
単にアクターをDisable→Enableしても同様な事が起きるみたいです。
位置を確実にするのであれば、そのマーカーをLocationにしたAIで明示的にそこにいる事を
指定した方が良い気が。
>>884 プレイヤーキャラをキー操作せずに自動的に動かす方法、と言う事であれば個別の方法は
幾つかあるのですが、問題もそれぞれあるので必要ならご希望の動作の詳細込みでまた。
アドオンの「未知からの侵略」って奴、休むことなく最後まで進めたが最後の最後で翻訳されてなくて吹いた
>>886 ダウンロードしてみます
遊んでしまって、確認できないかもしれないけどw
>>887 そのとおりです
>>888 個別に、ですか
やや力技の香りが・・・^^;
クエストターゲットなり、自宅なりへ歩いて移動する魔法を作れないかなと
道中、危険なこともあるだろうから任意の時点で解除もできないといけないわけですが、まずは歩いてくれないと話にならないので後回し
892 :
883 :2009/02/21(土) 03:04:42 ID:OiCT7F4b
>>888 なるほど・・・ということは
パスポイントを置いてやるのも簡単でいいかもしれませぬな
横レスにも関わらずアドバイスありがとう
>>796 様
ご報告が遅くなりすみません。
先ほどRen_Headをインポートして作業してみたところ、改変できました。
ありがとうございます。
ほくほくとゲーム中で確認してみたところ、ちょっと変なテカリをしている部分を見つけました。
鼻の右側だけにこの変なテカリで出てきてしまっている状態です。
SS>
http://eq2.matrix.jp/snup/src/eq13913.jpg 改変は頂点移動のみ、テクスチャ、ノーマルマップ、加齢テクスチャを他の種族のものに
変えてみても出てきます。
Blender上では二重メッシュ、二重頂点になっていないかの確認、
UVMAPをチェックしてみましたが、他のメッシュと重複しているなど問題も無く
展開されています。
また、showracemenuでランダム、リセットをしても出てきます。
CSで顔の対称にチェックが入っていることも確認しました。
どなたかお知恵をお貸しいただけませんでしょうか。
Update All Tangent Spacesは試してみた?
>>894 様
ありがとうございます。
0 NiNode上でUpdate All Tangent Spacesと、1 NiTriStrips上でUpdate Tangent Spacesを
試したのですが直りませんでした。
鼻周りの頂点は弄ってないんですが、どうしてこうなるのか不思議です。
元々のRen_Head001.nifと入れ替えてゲーム上で確認すると、このテカリは出てないんです。
顔弄りすぎてメッシュが崩壊しているんでしょうか。
以前、顔を弄りすぎて尖がった線が、あご周りに出てきたことがあります。
プレイヤーキャラがWaterfront自宅前まで勝手に歩いて帰る呪文のサンプルです。
http://up-load.ddo.jp/upload/data/up24817.jpg (zip、OBSE必要)
呪文が追加されるので適当な場所で唱えてみて下さい。
仕組みの大筋はプレイヤーキャラにPlayGroupで歩きアニメを再生させて、自宅に向かう
Escortパッケを付けた透明NPCの方向をGetHeadingAngleで絶えず向かせています。
クエスト、NPC、スペル、アイテムが一つずつとそれぞれにスクリプトが付いてます。
戦闘も自動化する場合は他のアプローチが良いかもしれません。
何かのご参考に。
blenderに関する質問なのですが、 bone weight copyをしても、parの欄にScene Rootがつきません。 exportすると異常に軽いファイルができます(weight設定がされてない?) edit modeでメッシュを全選択→object modeでコピー先、コピー元の順で両選択 →weight copy→コピー先メッシュにグループ?が出来ていれば成功 だと理解しているんですが、間違っている所はありますか? 分かり辛い質問で大変恐縮ですが、よろしくお願いします。
>>897 フッと思いつくことは3つでしょうか。
コピー元のParがScene Rootになっていない
Boneが無い
Weihgt Copyの小窓でUpdate Selectedを選択していない
>>898 ありがとうございます。調べてみます。
ちなみにコピー元にScene Rootがついてない場合は
どうすればいいんでしょうか?
>>899 >コピー元にScene Rootがついてない場合
Blender上でBoneとObject(コピー元)が揃っている状態で、
Object(コピー元)がScene Rootになっていないのであれば、
Parに直接打ち込んで大丈夫ですよ。
Boneが無いとできませんので、元nifから引っ張ってくるとか。
>>896 遅くなってしまいました
仕組みどころかサンプルまでつけていただき感謝!!
早速勉強開始です
どうもありがとうございました
すいません どうにも解決策が見出せませんので、 何か気づいた事ありましたらおねがいします。 今まで正常に動いていたConversationが、画面下への会話内容の表示だけされなくなりました。 そのConversationの最後にアクションを起こすような動作を付け加えてあるのですが、 それも正常に動いており、Conversation自体は正常に進行しているようなのですが・・・
初歩的な質問ですみません。
状況を記録するトークン代わりに非プレイアブル、重量0、価値0のアイテムを
キャラクターに持たせたいのですが、プレイヤーのインベントリに対してadditem、
removeitemした時に『〜を手に入れた(失った)』というメッセージを表示させな
い方法は何かないでしょうか?
>>902 Conversationの起動方法がわからないので推測ですが、スクリプトからsaytoを
使っているのでしたら、末尾のパラメータの『1』が無くなってるなんて事はあり
ませんか?
>>903 >『〜を手に入れた(失った)』というメッセージを表示させない方法は何かないでしょうか?
OBSEにNo Spam系のコマンドが用意されてる。
>>903 addやequipの前に(後だったかも)
message " "
で空白メッセージを被せるのでは駄目なの?
お聞きしたいんですが、武器の向きを変える(たとえば逆手のようにみせる)にはNifのどの辺りをいじればいいのでしょうか?
blenderで既存の髪を弄ってNIFで出力、Nifskopeにて他の髪型から データをコピペ、FaceNormals・SmoothNormals・MakeSkin Partition をかけてからCSでその髪型を開いたら強制落ちしてしまいました。 解決法ご指南願います。 それから、Nifskope上でUpdateTangent Spaceという項目がどうしても 見つかりませんでした・・・
ありがとう。
>>908 他の髪型からデータを移すよりも、他の髪型につくったメッシュを移す(置き換える)ほうが良い気がする。
>>910 なるほど、と思い実践したところ、ちゃんと髪型表示されました!
ありがとうございます!
>>911 うちのNifskopeではその場所にUpdate Tangent Spacegaがありません・・・
>>888 すいません。規制まきこまれてて亀になってしまいましたが、
仰るとおりのようで
Pathpointを移動させたいマークの近くに作ってあげたら
かなりいい感じにいてくれるようになりました。
助かりました。ありがとうございましたっす@rz
ヤフーブリーフケース有料化に伴いCSwikiの日本語化したものが消えてしまったようです。 お持ちの方いらしたらUPしていただけないでしょうか?
オブリのどのスレか忘れたけど、たしか前にもGAGAGAにあげてもらってる人がいたよ。 まずはそっち探してみてね。なければ持ってるからうpれるけど。
ありがとうございます了解です!ちょっと探してきます
>>912 メニュータブのspells>BatchにもUpdate Tangent Spacesがあるよ
>>912 もしかして1.0.17使ってない?最新版(1.0.18)で直ってると思う
CSの建物のパーツやMagicEffect、PlaySoundなどの一覧のあるサイトはないでしょうか? もちろん英語でもかまわないのですが・・ あまりに素材が多すぎて、 職人さま方は一つ一つCSで置いてみて確認していっていくのでしょうか・・・
921 :
名無しさんの野望 :2009/02/26(木) 00:35:55 ID:eDbLjUt9
そうだよ
一度全部置いてそこから選んでる そのうち覚えるから置く量減るよ
>>920 実はですねぇ、CSにはプレビューウィンドウというものがありましてですねぇ、
それ表示させた状態でオブジェクトウィンドウのオブジェクトをクリックすると、
プレビューできたりしましてねぇ。
まぁ、重いからあんまり活用できてないんだけどw
使用するパーツは自分で追加すると言う方法もあるぞ
>>921-924 ありがとう
やっぱりKIAIなんすねw
がんばってアトランティスつくるお!
って・・・
>>923 プレビューウィンドウみつけました(;゚д゚)こんなものが・・
>>925 建物だったら、一旦Renderにオブジェクトを大量に出しておいて、Ctrl+Dで複製しながら組み立てるのがいいと思うよ
先月からoblivionデビューしました!
ゲームプレイ中のみFOVを90に切り替えたいと思いMODを探したのですが
おまけ機能として導入されているものが多く自分で作ろうと決意しました。
いくつかサイトを回ったところCSの和訳ヘルプがあることを知ったのですが
Yahooブリーフケースが会員制になったため入手できませんでした。
また、
>>727 さんのファイルもすでに流れてしまっているようです…。
お手数をおかけして申し訳ありませんがどなたかアップロードしていただけないでしょうか?
>>929 気づいていませんでした、ごめんなさい。
即レスありがとうございました!
>>930 差し出がましいようだけど、以前有志の方が作ってくれた
CS日本語化パッチもあるよ
http://up-load.ddo.jp/upload/data/up25161.jpg-
>>931 ありがとうございます。
そちらは以前から適用していたのですが
>>928 で書いたスクリプトを作るにはOBSEが必要で(SetIniがコンソール専用…とのエラーが出るため)
CSを日本語化しているとCRCがあわず-Editで起動できませんでした。
そこで、ちょうど今CSを再インストールしたところでした。
日本語化したままOBSEを利用できる方法もあるのでしょうか?
バイナリエディタでOBSE側でCRCチェックが通るように書き換えるしかない。 日本語化した実行ファイルのCRCを調べて、OBSE側のどれかと置き換えればいい。 それかCRCフリーのOBSEをリコンパイルして作るかの二択。
>>933 wikiに載っていたとは…お手数をおかけして申し訳ないです…。
スクリプト作成が一段落したら挑戦しようと思います。
ところで、今、
>>928 で考えたスクリプトを書いているのですが
Begin GameMode
con_SetINISetting "fDefaultFOV:Display" 90.00
end
初めに考えたものはこのようなコードなのですが
これでは、メニュー画面以外ではずっとiniを変更し続け大変な負荷ではないかと思いました。
そこで、Con GetINISettingでiniを数値を取得し90でなければ書き換えようと思ったのですが
なにぶん初めてOblivionのスクリプトを書くため、この考え方は正しい方向なのか不安です…。
質問ばかりで申し訳ないのですが、アドバイスお願いできませんか?
Seph_Dual_Wield_v_2を使っているのですが、SKILLPOWER系が他のNPCと共用になるので、 プレイヤーキャラだけ違う戦闘アクションを取らせるには・・・と思っていろいろCSでいじってるんですが、どうにも反映されません。 コンパニオンはCSでspecialanimに放り込んだものを指定するだけですぐ出来るのですが、プレイヤーはどういじればいいかわかる人いらっしゃいますか?
>>935 FOV変えるのってそれ用のコマンドがあった気がするよ。
実際の処理は既存のMODがどうやってるか見るのが良いと思う。
StreamlineやSlowmotion(だっけ?)とか、SSスレに昨日上がったTimekeeperにもFOV機能あったし。
現状BlenderでKfを直接Importする方法は無いんでしょうか? Python 2.5.2 PyFFi 2.5-1.2.2 Blender2.48 NifScript 2.4.2 でkfをImportしようとするとDirect .kf import not supportedで出てImportできません
>>935 負荷の話の前に、「Con_SetINISetting」の使用は要注意です。
それでFOVを変えるとゲーム終了時に値がiniに保存されて次回起動時に妙な事が起きたりする
かもです。
他に「Con_SetCameraFOV」てのもあるのですが、これはコンソールのFOVと同じで勝手にリセット
されたりするみたいです。
とりあえず両方をコンソールから使ってみて、どちらが自分の目的に合うかをまず確認する
のが良い気が。
両方とも単に負荷だけの話なら毎フレーム実行しても問題無いかもしれません。
でも安全を考えると実行は最低限にした方が良いかもです。
Con_SetINISettingなら最初にどこかで一回だけ実行すれば多分OKでしょう。
でもゲーム終了時に確実に元の値に戻す処理が必要になります。多分。
Con_SetCameraFOVの場合は会話、弓矢ズームが起きた事を検出してその都度再実行したり。
>>936 npcにplayerという項目があるのでそこでanimationの優先設定をすれば反映される、と思う
>>938 import時に素体nifを選択してそれにkfをimportskeltononly+parentSelectedでboneをimport、
出てきたboneを選択したらimportで今度はimportGeometryOnly+ParentToSelectedArmatureで弄れる素体ができあがる
kf_supportpack0.4に画像付きでやり方ついてたよ
これ以外は知らない
プログラムに強い方に意見を聞きたいのですが 今まで私は、極力、GameMode ブロックを使うのを避け、 可能な限り、少々メンドクサイ処理になっても、OnActivate やOnLoad などの 「機会」処理を使うようにしてきました。その方が負荷が少ないと考えての事です。 でも、もしかすると例えば Begin OnActivate というのは、仮想的には Begin GameMode If Activate == 1 endif end という処理と同じなんじゃないかと。(もちろん、If Activate なんてのはアリマセンが) 先頭の条件文でほとんどの処理を必要な時まで飛ばしてしまえるならば 別にGameMode ブロックでも負荷は同じなんじゃないでしょうか。 その辺、どう思われますか?
>>941 どうなんでしょうね。
確かに構文自体はイベントのコールバックを記述する、みたいな体裁になってますが、実際は
毎フレーム中間コードを頭から辿って例えばGameModeブロックの「beginコード」があったら
次に「end」が来るまでその処理内容を実行する、「OnActivate」の場合も同様に頭から順番に
ブロックを探す、みたいな事をひょっとしたらやっているかもしれません。
でもその場合はブロックを探してコードを辿るだけで該当ブロック以外の処理は実際には
実行されないと思うので、例えばActivateブロックを探すオーバーヘッドはGameModeでの
毎フレームの実判定処理と比べるとそれほど大きくは無い気もします。
また、「if-else-endif」でインタープリタのプログラムカウンタがジャンプするのか、それとも
「else」か「endif」が見つかるまでやっぱり中間コードを一つずつ辿るのか、とかの内部動作に
よっても負荷具合が変わってくるでしょう。
その辺の話はCSWikiのどこかにあった気がします。
確か「とりあえずGameModeを使うのは可能なら避けろ、インタープリタは中間コードを一つ
ずつ辿るからスクリプトはとにかく全体を短くしろ」、みたいな結論だった様な気もします。
詳しくはちょっと思い出せないのですが。
おお、ありがとうございます。 ん〜、なるほど。やっぱGameModeは出来るだけ避けるのが無難か…。
実際はGameModeをついつい使ってしまいますけどね。 On〜だけでは対応を網羅し切れずに、ひとつだけ例外的にGameModeで毎フレーム状態を監視 して何かをする、みたいなコードを書いてしまうと、例外はキモチ悪いからいっその事全部 GameModeで処理しちゃえ、みたいな方向につい流れてしまいます。 処理はイベント単位で独立させた方が後々メンテが楽な事は分かってるんですけど。 つい目先の誘惑に負けて集中管理的なコードを書いて泥沼になってしまう、というのはよく ある話です。というかよくやります。
On〜だとコンパニオンでは動作しないのもあるしね…。 なるべくなら避けたいところではあるが、難しい。
クエストmod作ってるとgamemode使いまくりなんだけど だめか・・やっぱだめか 全部やり直しかコレはもうだめだ。。。
>>946 いやいや、可能なら避けろという話だが、避けて通れるものでもないw
Blocktypesがもうちょっと豊富だったら良かったんだけどね
確かに。 GameModeを避ける、と言うのはとりあえずのガイドラインなんで、問題無く動きさえすれば 内部の作り方はもう好き勝手で全然OKだと思いますよ。
スクリプトでNPC等をイベント後に消そうとした時 reference Editor IDを設定して Persistent Referenceにチェックして 後は○○.disableとしても スクリプトエラーで Script command"○○.disable" not found と出てしまうのですが 一体何がいけないのでしょうか?
refじゃなくObject IDを指定してるとか。
>>949 そのエラーはその行全体がスクリプトの構文として全く解釈不能な場合に出ます。
普通は半角の「.(ピリオド)」があれば解釈されて別のエラーになるので、それすら解釈されて
いない場合は全角や謎文字が混ざっていたりするかもです。
とりあえずその行を完全に消して一旦Save、エラーが出ない事を確認してからもう一度その
行をタイプし直してみたり。
スクリプトに使う文字はコメント部以外は半角英数字限定で。
行頭行末以外はTABも使わない方が安全です。
シールドに使用されているMeshオブジェクトを、鎧などに移植するとゲーム中は表示されないのですが、 これってNifScopeでどこいらへんいじればよろしいでしょうか?
シールドにはウェイト設定がされてないから、鎧などに組み込む場合は blenderでウェイト設定しなければいけないのではなかろうか
>>952 移植って何を何のツールでどうしたのか書かんと意味がわからんのだけど。
エスパースキル低いから間違ってるかもだけど、移植って言ってるのは
CSでシールドのNifファイルをupperだのamuletだのの属性の装備に割り当てたってことか?
結論だけ言うとシールドなんかのNifファイルのメッシュを鎧とかの着る物にするのは
Blender等の3Dアプリ上で編集しないと無理。
鼻に変なテカリが出ると言ってた者ですが、 NiTristrips→NiTrishapeに変更したところ出なくなりました(ここまで長かった・・・)。 参考まで。
>>953 ,954
わかりました。ちょっとBlenderいじってくるyo.
ありがとー
>>955 肌のテカリに悩んでるので身体に応用できるかも知れないからもう少し詳しくやり方を
教えていただくとありがたいんだが?
>>955 NifskopeでNiTriStripsのMESHをTriangulate処理した
と考えて良いですか?
正に958さんが言われてることをやってみた次第です。 部分的なテカリって気になりますよね;;
私も装備着たときに首に菱形が浮かぶのが気になって質問しようと思ったけど
>>911 これで直ったよ。
>>893-895 この流れから出来ないのかと思ったけど。
CSで地形をいじっているとたまにズーム量が大きくなってしまって 作業に支障がでたりするのですがどなたか原因に心あたりはないでしょうか
あぁ、Cellの名称がBashed Patchできると名詞日本語化が簡単なのに…
964 :
961 :2009/03/03(火) 22:40:25 ID:ZNsnizzA
オブジェクトを選択している間はズーム量が2倍か3倍くらいに なる仕様のようでこの状態のままだとLandScapeEditingに入っても ズーム量が多いままな為だったようです
965 :
881 :2009/03/04(水) 11:41:26 ID:G81Scocp
質問! スクリプト内でアクティブになっているクエストの目的地を取得したいな、と アクティブクエストのIDが取得できればいいのだろうけど、そんな関数ある?
>>963 それ毎回思う…
TIEとTEC直すのがめんどい
しとしん版からNamesをインポートするとバニラクエストの説明文が英語に戻るし
余分なのを切ったNamesをインポートするとSaveでCSが落ちるしOrz
クエストもインポートすれば両立できるけど本来含まれてないバニラのクエスト情報までespに入っちゃうのが…
ただの愚痴になってしまったOrz
>>966 Bashed Patch作成時にインポートする名前データをまとめた
csvファイルを作るのではだめだろうか。
そう思って試したいとは思うものの、
CSでエクスポートしたnames.txtから必要な箇所を抜き出すまではできても
帰宅するまで本格的な作業ができないw
csvファイルの書式そのものは
Data\Bashed Patch\Rational_Names.csvなんかが参考にできると考えているのだが。
>>967 Cell名は〜_Names.csvに出ないけど、インポート時にBash君が理解できるだろうか?
>クエストもインポートすれば両立できるけど本来含まれてないバニラのクエスト情報までespに入っちゃうのが… 不要なテキストを除けばちゃんと作れるよ。 Cellは諦め。 そもそもCellってCSで1個1個改名してくしかないよね? エクスポートは出来るのにインポートできない・・・。 一応スクリプトでCell名を変えるっつー強引な技もあるにはあるんだが、 セーブに残るのでesp外しても戻らないと言う欠点が。
そもそも
>>963 と
>>966 の話がかみ合ってないから混乱するなw
963「Wrye BashでCellインポートできなくて大変」
966「CSでnamesをインポートすると(ry」
>>969 書いてから気付いたけど
>余分なのを切ったNamesをインポートするとSaveでCSが落ちるしOrz
環境依存だな。俺のところでは動く。
でも代わりにespをmaster指定になってる差分PatchをセーブでCTD。
以前は何度インストールしても起動さえしない場合も。
CSは本体以上に不安定すぎw
そういやnames入れたいだけならそれこそbashで事足りるぞ。
エクスポート・インポートも出来るし(しかもそのMOD中に存在するIDの部分だけ)、
日本語modにtag付けるだけでもいけるはずだ。
>>969 残念ですね。
cell名だけ変えるespが作れればなぁ
今は新作MOD入れるたびに日本語化ですよ。トホホ
>>969 > そもそもCellってCSで1個1個改名してくしかないよね?
原因はわからないが、インポートできるのもあればできないものもある
Modによって違うっぽい
>>970 判りにくくてすいません。
Wrye BashでCellインポートできないのでCSで編集をしているのですが…
ということだったのです。
CSは動きがよく判らんです。
TIEを読んでインポートせずにそのままSaveでも不正終了します。
でも英語交じりのNamesをインポートするとSave出来ます。
不要な部分を除いたNamesをインポートすると落ちます。
あれ、CS壊れてるのかなと再インストールしましたが変わらない。
でもデータが少ないespは何もせずSaveしても落ちません…
ちょっとしたデータは今までTES4Editで1つずつ直してたのですがこの2つは変更点が多すぎて厳しいという愚痴だったんです(・・`)
それはそうとTES4Editで役立つ情報が
http://oblivionclarity.blog21.fc2.com/blog-entry-82.html
訂正 >不要な部分を除いたNamesをインポートすると落ちます。 不要な部分を除いたNamesをインポートしたあとSaveで落ちます。 まあ結果変わらないですが…
>>973 ちょうど、TES4Editを使って綺麗にできないものかと試行錯誤してたところだった
情報ありがとう
976 :
名無しさんの野望 :2009/03/06(金) 16:26:38 ID:HxiyR9cB
普段Hovs HotkeysとMouse castを併用してるんですけど Hovs HotkeysでもMouse castみたいにショートカット使ったあとは元の魔法に戻したいんです。 自分で改造しようと思ったのですが、なかなかうまくいかないんで知恵を貸してください。 このMOD使ってない人にうまく説明できないのですが… Hovs Hotkeysはテンキー(1〜9)に登録した魔法を自動キャストしてくれるMODで例えばテンキー1にDispelを登録しておくと、1を押すだけでMODがDispelを選択→キャストキー押下してくれるんです。 で、Mouse castはまた別のホットキーMODなんですが その機能の中で、Mouse castに登録した魔法を使ったあとは、使う前の魔法を選択し直すって機能があるんです 例えば、攻撃魔法を使用中に、Mouse castでDispelを使うと、自動で初めの攻撃魔法を選択しなおすって感じです。 Hovs Hotkeysのスクリプトをみたところ 1.テンキーが押される→ 2.テンキーに指定されていた魔法をリファレンスchoosedspellに代入→ 3.SelectPlayerSpellでchoosedspellを選択→ 4.Castキーを押す といった風な処理をしていました。 そこで、魔法を選択する直前に自分で追加したリファレンスにGetPlayerSpellで保存し Hovs Hotkeysがキャストした後に保存した魔法にSelectPlayerSpellで戻そうと思ったのですが実際に実装したところ 直前にGetPlayerSpellをすると Hovs Hotkeys本来のSelectPlayerSpell(上記3)が機能しないのか 登録した魔法ではなく、あらかじめ選択していた魔法をそのままキャストしてしまいました。 長文になってしまったうえうまく説明できないのですが どうかお手伝いお願いします。
>>976 Mouse castの仕様を参考にはできんのだろうか?
あとはSuper Hotkeysとか。
978 :
名無しさんの野望 :2009/03/06(金) 20:54:15 ID:HxiyR9cB
ありがとうございます。
MouseCastは自動キャストはせず
登録キーを押している間アクティブな魔法を切り替え左/右クリックで発動するものなので
厳密には同じではないのですが、だいたいはの仕様は
>>976 のものと同じでした。
Hovs Hotkeysのスクリプトを一部抜き出します。
;@と書いた行が私の追加したものです。
略した部分は騎乗詠唱に関わる部分です。
; <<< sixflavors
<略>
elseif player.isridinghorse == 0
Set spellBackup to GetPlayerSpell ; @
selectplayerspell choosedspell
tapkey castkey
set choosedspell to 0
SelectPlayerSpell spellBackup ; @
return
endif
HotkeyCastingを使ってみては
>>978 追加したものをそれぞれ片方ずつコメントアウトするとどうなる?
spellBackupには初期値として適当な呪文を入れておくとして。
tapkeyが遅延してるんじゃないか、とか、疑ってみるけれども。
いつキーが押されるか不定なので、Hovs Hotkeysはそんな仕様なのだ、的な。
981 :
名無しさんの野望 :2009/03/06(金) 22:26:24 ID:HxiyR9cB
>>980 Set spellBackup to GetPlayerSpellの代わりに
Set spellBackup to spell9と書きました。
spell9とは他でテンキー9に設定している魔法のことです。
この場合、どのキーを押してもテンキー9に設定した魔法が発動します。
Set spellBackup to spell9もコメントアウトした場合は
従来通りのHovs Hotkeysの動作をします。
この場合、spellBackupは0なので当たり前といえば当たり前です…。
また、SelectPlayerSpell spellBackupをコメントアウトした場合も
従来通りのHovs Hotkeysの動作をします。
初めは、GetPlayerSpellが遅延していて
selectplayerspellが間に合っていないのにtapkeyしてしまっているのかと思っていたのですが
SelectPlayerSpell spellBackupを消すことで動作してしまったのでもう訳がわからないです…。
このスクリプトってループ処理できませんよね…?
>>979 Hovsの代わりに使うという意味でよろしいでしょうか?
ググってみたのですがHotkey Castingを手に入れることができませんでした…
>>981 SelectPlayerSpell spellBackupを消すとHovs HotkeysのSpellが発動するということは、
やはり予想通りtapkeyが遅延(キー押しのメッセージを発行するだけして、
ほったらかしなのかもしれん)していて、
SelectPlayerSpell spellBackupの実行後にようやく詠唱キーが押されたことになってる、
と読めるのだけど、
Set spellBackup to GetPlayerSpellのあるなしでも変わるってことは、
そう単純でもないのか、あるいはSelectPlayerSpellに0を渡したときはなにもしないのか。
980でも言ったとおり、spellBackupに初期値を入れて、
(わかりやすいようにcastkeyでもHovs Hotkeysでも発動しないはずのもの)、
その上でSelectPlayerSpell spellBackupを消してみてくれ。
でないとわかんないよ(´・ω・`)
まあ、自力でなくても悔しくないなら、977でも言ったが、Super Hotkeys使え。
983 :
982 :2009/03/06(金) 23:07:10 ID:dWKgI6IN
間違えた。SelectPlayerSpell spellBackup消してどーする。 spellBackupに初期値を入れておいて、 Set spellBackup to GetPlayerSpellを消してね。 あるいは、Set spellBackup to [なんか他の呪文] でも可か。
984 :
名無しさんの野望 :2009/03/06(金) 23:33:48 ID:HxiyR9cB
>>982 無事に目的の動作を実装できました!
どうやら詠唱関係のコードはなんらかの方法で(再起?)ループ?しているよう
でした。確認不足です。ごめんなさい。
そのために、追加したコードが何度も実行されバグに繋がっていたようですが
>>978 ではシーケンシャルに書いていたので綺麗に全体がループしているのであれば狙い通りの動作すると思われますし
具体的になにがどういう風に動作していておかしかったのかわからずじまいです
…。
ブレークポイントを置くこともできませんし
初めてスクリプト弄った私では調べようもないですから、とりあえずは良しとし
ます。
具体的な実装としましては、
GetMagicItemTypeが0であるのを条件にすることで
「元の魔法を待避する」動作(
>>478 でいう最初の@行)を一度だけしか実行されな
いようにする。
キャスティングされた時点で建てるフラグ作成し
それを条件に「元の魔法を選択しなおす」動作(二つめの@行)を別の位置で行う。
といった風にしました。
もし、需要があれば、つまらないものですが詳しくコードを書きます。
最後になりましたが皆様こんな説明不足な質問に優しいアドバイスをくださりあ
りがとうございました。
985 :
名無しさんの野望 :2009/03/06(金) 23:43:30 ID:HxiyR9cB
>>982 書き忘れました…
コードの全体を把握していなかったので
どのタイミングで代入すればデバッグに役立つ範囲で代入できるかわからなかったので
>>981 のようにしたのですが
宣言と同時に代入するということも可能なのですか?
英語なのでWiki流し読みって気にならず
適当にやり始めたのですが
どんな命令があるか、どこまでできるのかってことが全然わかっていないことが実感できました…
解決したみたいですが。 TapKeyの直後にSelectPlayerSpellしたらその魔法が詠唱されると思いますよ。 魔法の動作はそのスクリプトが終了してから始まるのでTapKeyの前後に関わらず最後に SelectPlayerSpellされた魔法が唱えられる気がします。多分。 恐らく1フレーム待ってから元の魔法に復元すればOKな気が。 でも魔法グラフィック読み込みの遅延もありそうなので、ゲーム開始後初めて唱える魔法の 場合はウエイトが1フレームでは足りないかもしれません。
988 :
982 :2009/03/07(土) 10:59:11 ID:YUWw60QR
>>984 えーっと、再起やループは気のせいだと思われ。
少なくとも、elseif〜endifの間ではないわ。あったらこのスクリプトいじるの諦めるw
986も言ってるとおり、982で説明したのと似た動作のようだよ?
(呪文の詠唱解決がSelectPlayerSpell spellBackupの後に起こる)
983で出した代案のようにすれば、確かめられると思うんだけどな?
>>985 代入に有効なタイミングがないことも考えて、983で代案出しておいたのだが……
宣言と同時に代入できる言語などざらにあるので、可能性はあるっしょ。
あとは自分で試すが吉。
989 :
名無しさんの野望 :2009/03/07(土) 12:45:49 ID:cwh+wzyc
すげえ