トップページ | 2008年2月 »

2008年1月

2008年1月31日 (木)

v2進捗(その12):ようやく・・・

いやはや、このv2進捗シリーズで12回も書くとは思わなかったw

前回、残りは

  • 焼き物をする時の品物を落っことす処理を楽にする方法
  • 屋外コンロをActivateした時の向き調整

と書いてましたが、えらくアッサリと完成してしまいました。

特に屋外コンロの向き調整ですが、デザインしてくれたHISSSSAさんに御心配をおかけしましたが、いざ実際に作業してみると Player.getangle z のコマンドだけで事足りたと言う・・・。
(三角関数が必要とか、何を考えてたのやら。orz)

1番目の部分もコンセプト自身は昨年の12月頭の頃から考えてたんで、他の部分を応用しつつやってみたらスンナリと出来上がった模様。

 

続きを読む "v2進捗(その12):ようやく・・・"

| | コメント (4) | トラックバック (0)

v2進捗(その11):燻製周り一応完成

結局、燻製関連のScriptは全部を作り直しました。

でも終わってみたら本当に必要だった作業なのかが疑わしい・・・。
全部新規だからバグが無いかどうかを調べるのも大変だしなぁ。

どう変わったかを書いてみたら長くなったので詳細の方に。

 

続きを読む "v2進捗(その11):燻製周り一応完成"

| | コメント (2) | トラックバック (0)

2008年1月30日 (水)

v2進捗(その10):ScriptTypeの選び方

此間から燻製に関係するScript群を弄ってるんですが、過去Verでは5つで構成されてると言うのは何度か書いたと思います。

  • お肉を引っ掛けるフック
         ObjectType
  • 薪を放り込んで消費する釜
         ObjectType
  • 完成したかどうかを監視するジャーキー本体
         ObjectType
  • 開いたかどうかのメッセージ出すだけの扉
         ObjectType
  • 燻製を燻してる時間を監視するタイマー
         QuestType

と言う感じになってました。

これらが絡み合って燻製を作れるようになってたんですが、

  • 実時間判定なのでWaitや睡眠で時間飛ばしても反応してくれず、
  • 調理場の外で長時間経過しても薪1本分しか進んでくれない。

て事があるので修正しようかなぁと弄ってるのですが・・・。

 

続きを読む "v2進捗(その10):ScriptTypeの選び方"

| | コメント (0) | トラックバック (0)

2008年1月28日 (月)

v2進捗(その9):なかなか難しい物で

ど~やっても日曜日の間にはリリースできないので今日のMod修正は少しサボリw

  • 昨日弄ってた屋外調理器の修正少し
  • HISSSSAさんの作ってくれた新規コンロの確認
  • 燻製室まわりのScript群の中からFook部分の所

だけ弄って終了。

Outdoorfirepot2

これが新しい屋外調理器の予定。網が素敵。

嬉しがって無駄にこんなバカな物まで作ってしまったw
ダウンロード OutDoorFirePot2.gif (8202.4K)

無駄にデカイ・・・。
アニメーションGifってのも適当に作るもんじゃないな・・・。

続きを読む "v2進捗(その9):なかなか難しい物で"

| | コメント (0) | トラックバック (0)

2008年1月27日 (日)

v2進捗(その8):ようやく次に

リリース前のgdgdが多くなったので連番つくように過去記事のタイトルも修正しました。
ややこしくて申し訳なし。

で、今回のgdgd記事w

屋外コンロの処理に見落としてたバグを発見し、その修正で大変な事に。

今まではテクスチャのパスを変更するくらいにしか使ってなかったNifScopeの使い方も、HTSCのお陰で随分と色々出来るようになってきましたw

続きを読む "v2進捗(その8):ようやく次に"

| | コメント (7) | トラックバック (0)

2008年1月25日 (金)

v2進捗(その7):消えちゃったVer2.0.0ですが

コメントは少ないけど多くの方がココ見てくれてるようで、
新規Verを楽しみにしてくださってた方も多いのかなぁと凹むことなく続行中。

CSで編集してた部分は無くなりましたが、肝心のScriptは全部他のツールで作業してるんで復旧は思ったよりも早く終わりました。

ただ、変更点の全部を覚え切れてないので失われてない部分が無いとは言い切れませんが・・・。

とりあえず消し飛ぶ以前の状態には戻ったのですが、
戻ったかどうかチェックしてたら屋外コンロで深刻な問題が発覚・・・。

続きを読む "v2進捗(その7):消えちゃったVer2.0.0ですが"

| | コメント (0) | トラックバック (0)

2008年1月23日 (水)

v2進捗(その6):\(^o^)/

燻製関連のScriptを修正する前に燻製室のフックとかを調整するかとCS弄ってたら・・・。

なんかCSの挙動がおかしくなって
  修正中だったHTSC消えてなくなった!

(つД`)

Scriptは別Editor使って作業してるから全部残ってるけど、
変更したシェーダーやレイアウトとか全部だめに。orz

 

v1.1.0の奴から作り直しか。λ...

| | コメント (5) | トラックバック (0)

v2進捗(その5):リリース予定日

一週間前の記事「v2.0.0ではこの部分を修正するよ」って予告も殆ど完了し、
見えないところばかりじゃツマラナイと見た目の修正も少し加え、
ついでに予定に無かった新規要素も追加して、

週末くらいにはリリースできるかなぁ

などと思ってました。(過去形

・・・

また見積もりが甘かったよ。orz

週末ごろに出せるかは微妙です。通しでの確認とドキュメント作成にも数日かかる事あるし。

(今回も詳細側はScriptのお話。興味ない人はスルーで
(でも、燻製処理を大幅変更するので作業手順に関するご意見募集

続きを読む "v2進捗(その5):リリース予定日"

| | コメント (0) | トラックバック (0)

v2進捗(その4):v2.0.0の新規項目を更に追加

直前の記事でこんなの追加されるよと予告編を出したところ、

「水を飲む時に状態確認しながら何度もクリックするのが大変」

と言うご意見をいただき、

満タンの水袋には20dl分の水入ってて、
その容量分だけは一気に潤うはずなんだけどなぁ。

などと思いながらも、

確かに状態見ながら次の水袋選んで~ってメンドクサイよなぁ。

と納得w

 

続きを読む "v2進捗(その4):v2.0.0の新規項目を更に追加"

| | コメント (0) | トラックバック (0)

2008年1月22日 (火)

v2進捗(その3):v2.0.0の進捗状況

コンロの挙動を変更してたら保存できなくなり、

全部作り直しか。orz

になってたv2.0.0ですが、とりあえず問題のScriptのスリム化に成功。

まだ全部の挙動が正常なのか確認しきってないけど・・・。

 

て事でようやく次に進めます。
(今回のは次Verの先行お披露目なんで詳細側にSSもあるよw)

続きを読む "v2進捗(その3):v2.0.0の進捗状況"

| | コメント (5) | トラックバック (0)

2008年1月20日 (日)

v2進捗(その2):直前の記事で

コンロ部分のScript完成したと思ってたんだけど、
少しだけ気になる部分があると弄ってたら破綻した・・・。(つД`)

 

まだ詳細を掴みきってないけど、1枚のScriptで記述できる量には限界があるらしい。
(この話自体は某スレのログに残ってたので知ってたけど・・・)

で、1枚のScriptで記述できる限界 30kBくらいっぽい・・・。

 

元から “コンロに乗ってるItem名はコレか?” といちいち確認して、

  • 1度目で条件にマッチしてれば完了時間の設定。
  • 完了時間に達してたら調理後のItemへ交換。

という読みやすいけど冗長な処理方法で書かれてたから気にはなってたんだけど・・・。

ver1.1.0で料理の種類を増やしたりしたのでほぼ限界に達してたらしい。
料理できる種類を増やしたいなぁと言っても今のままじゃ無理やんw

とりあえず、まな板Scriptを参考にすればScriptサイズの圧縮できるかもしれない。

コンロ処理の部分、1から全部組み直ししてみます。
|λ...

| | コメント (0) | トラックバック (0)

v2進捗(その1):HTSC v2.0.0を準備中ですが・・・

予想以上に難航中w

元からScriptの塊のようなModで、料理パートの所も色んなScriptが一杯w
本来は他の人が作ったScript群なので、動作の意味や仕掛けてある場所を把握するのに一苦労。

今までは基本の骨格になるような部分には手をつけないようにし、
ちょっとしたフラグの追加やパラメータの変更だけで済む部分しか弄ってませんでした。

この記事はScriptのコマコマした事ばかり書いているので、
興味の無い方はパスされたほうが良いかと。(^^A

続きを読む "v2進捗(その1):HTSC v2.0.0を準備中ですが・・・"

| | コメント (0) | トラックバック (0)

OBSE0014きた~~

前回のHTSC修正中、やりたかったけど断念した“お食事スプーン”を使った直接食事・・・。

武器属性にした“お食事スプーン”を装備し、目当ての食材に攻撃してHitしたら食べる!等と言うバカな事を考えてたんですが、生き物じゃない奴に攻撃あてても何に当たったかってのを取る方法が思いつかず断念したんですよねぇ。orz

で、その時になんか方法ないかなぁと調べてたらOBSEの更新予定の中に“照準当てたら名前が表示されるって奴をRefとして取得する方法”提供するよってのがありまして、それが実装されたら割りと簡単に実現できそうだから、それまで待つべと諦めました。

で、その新OBSEが登場。(予想外に早かった・・・)

GetCrosshairRef*
returns a reference to whatever is currently under the player's crosshair.
Generally returns zero when called during menumode.
 Note that this function will return non-activatable references as well;
 use
IsActivatable to determine if the reference can be activated normally.
        (crosshairRef:ref) GetCrosshairRef

と言う事で、欲しかったコマンドもちゃんと実装されてるようです。
思わずウズウズしてしまいます。

しか~~~し・・・

新しいOBSEが落ち着くまで待った方がいいよなぁ・・・。
飛びついたら余計な混乱を引き起こすもんなぁ。

| | コメント (0) | トラックバック (0)

2008年1月19日 (土)

アクセス数が・・・

私家版チュートリアル作成を中断し、Mod修正の方を再開するってんで新しい記事は殆ど無いんだけど、何故かアクセスが跳ね上がってる・・・。

いったい何かなぁと見てみたら、2chのスレで質問者への回答にココのURLを使ってくれた人が居たみたい。

それ自体は役に立ったようで私家版チュートリアル作った甲斐があったなぁと喜ばしい事ですが、URLが提示されるととりあえず開くって人が結構多いのかな?w

私家版チュートリアルを一通り読んでくれてる人も割りといらっしゃるようで、何かのお役に立てば幸いですが、Topだけ or Modカテゴリ直行と言う方も結構多いw

あと、日本以外からもアクセスしてくれている方もいらっしゃる様で、2chのスレッドは海外の方も注目されてるのねぇと何か感慨深い物が・・・。
(英語・韓国語・中国語のからのアクセスを確認。ドイツからってのも一つあったw)

BlogスペースにMod置いてもダウンロード数は見れないのが悲しいかなぁ。
ダウンロード数見れると公開後の楽しみになるね。
HTSCのv1.1.0だとアップローダーの方では227回落とされてるらしい。

楽しんでもらえると良いなぁ。
記事の方も私家版チュートリアルの第二部をそのうち始めるかも?

| | コメント (4) | トラックバック (0)

2008年1月18日 (金)

さてさて

気まぐれでダラダラと書いていたチュートリアル、
とりあえず“第一部 完” などという状態に相成りまして、
ほったらかしてたHTSCの修正するかと作業再開。

前に書いたエントリで予告してある事、ある程度作って有るので他の部分から手をつけようって事でまな板とかが材料に反応した時のエフェクト部分を変更しようかと。

既存のMagicEffectを流用してるもんだから、
他のModでEffectを変えちゃうとすごい事になってるらしいw
なんだけれども、MagicEffect変更するのも結構めんどくさいね。

どういう形で表現されるか、どうもピンとこないので数字弄ってはObを立ち上げて確認し、
気に入らなければCSに戻ってってのを延々繰り返さないと駄目っぽい。

 

ついでに報告貰った他の部分も確認。
「調理場の棚に置いてある材料がCellリセットされると復活する」って話。

やってみたら見事に復活してくるw
でも、棚に置いてあるもの全部が復活するんじゃなくて一部だけ・・・。
(なんでそうなるんだろ?)

復活するのは以下のItem

    • トマト
    • ブラックベリーパイ
    • アップルパイ
    • サラダ
    • チーズ類(塊&切った奴)
    • 糖衣
    • 焙ったとうもろこし
    • 牛肉
    • Rice
    • リンゴ
    • ブラックベリー
    • パンくず

それ以外の奴は復活しないと言う奇妙な動作。

んで、こいつら。“料理に使ってやると復活しない”って挙動も確認。
何が原因なのかなぁと色々やってたら、

“一度入手してから床にばら撒いてやると復活しない”ってのも分かった。

オマケにばら撒いた時の挙動も少し変で、
纏まった量をばら撒いたのに1つずつに分離して床に落ちる
(調理するにはコッチのが便利なんだけど、普通はチーズ(4)とか纏まるのに・・・)

まだ自分の理解できてない妙な処理がどこかで走ってるのかねぇ。orz

| | コメント (4) | トラックバック (0)

2008年1月17日 (木)

11) 具体例に入る前に

一応前書きと言う事で  ひとまず終了

Begin~end を理解すれば・・・ と書いておきながら、補足なんかを挟み、再び前置き・・・。
さっさと進めろと言う話が出そうですが、とりあえずお付き合いを。

 

日本語で文章を書く時にも状況や主体によって書き方が変わりますよね。
自分の話なのか、相手からの視点なのか、第三者からの視点なのかでも変化する。
(自分の話なら主語を省略したりしますしね)

 

Scriptにおいても実行したい事柄に対して

何を主体にして動作を記述するか

で組み方が変わってくると思います。

 

例えば、何かを使うと言うコマンドにActivateというのがあります。
(厳密に言うと“使う”と言う表現は間違いか)

 Activate player と書くと プレーヤーActivateされる

と言った意味合いになります。

この構文の場合、書かれたScriptが何に関連付けられてるかによって挙動が決定します。

  “NPC”    なら     “プレーヤーとの会話が発生する”
  “入れ物”    なら     “出し入れメニューを開く”
  “扉”    なら     “扉を開く”もしくは
    “指定された移動先にプレーヤーを送り込む”
  “本や巻物”    なら     “プレーヤーに記述されてる文章を表示する”
  “武器など拾えるもの”    なら     “プレーヤーの持ち物に追加(移動)される”

 

同様のことを別の視点から実行させる事も可能です。

例えば“フォークに刺さった物”にScriptを関連付ける事無く、
“フォークに刺さった物”をプレーヤーへ追加(移動)されるようにする場合、

  1. フォークに物が刺さった時、その物体が何であるかを取得し、
     set Actionref to GetActionref
         Actionref は接触したObjectを格納する変数
         GetActionref は 何が使われてるのかを知るコマンド
     
  2. プレーヤーの持ち物へ移動を命令。
     Actionref.Activate player

と言う感じのScriptを作成して“フォーク”に関連付ける事で動作すると思います。
(実際にはフォークの方に何かが刺さった事を認識させる細工が必要だったんですけどね。)

ここで、Actionref と Activate の間に .(半角ピリオド) が挿入されている事に注目。
このような記述をする事で、何かプレーヤー何かをされる と言う形式で記述できます。
(例では player としていますが、別のObjectに変えてもOKです。)

追記。
上記のフォーク用Scriptでも刺した物体の種類によっては物の移動では無く会話や入れ物の中身を見せると言う動作がされますので、その辺りは除外処理をする必要があります。

また、Activateによる物の移動物理的な距離に影響されません
よって特定の物を別の場所へ移動させる手段にも使えます。
(HTSCのv1.1.0で追加したスプーンによる道具召喚でやってます)

 

このように何処を主体にして記述するかでScriptの作り方が変わったりします。

ここから先に出てくる話は、基本的に自分が使ってみた例が多くなると思いますので、
同じ事をやっても上手くいかないとか、もっと効率の良い方法ってのがあると思います。

中途半端な状態ですが、ひとまず筆を置く事にします・・・。

この後はCSHelpとにらめっこする事で何とかなるかな。

基本的にはScript1枚はScriptNameで個別の名前をつけられていて、
その後に使用する変数を適宜宣言し、
Begin~endのブロックを作成して内部に必要な処理を記述していくと。

Begin の種類はCSHelpに載ってますし、OBSEを有効にしてCSでの作業をしているならPrintToConsole のコマンドを使ってどういう時にそのBeginが有効なのかを確認できます。

使用できるコマンド一覧もCSHelpに記載されていますし、CSWikiを頑張って読めばOBSEのコマンドを含め詳細に記載されていますし、補足情報や例題が載っている事もあります。

コマンド類に関しても、人が定義してる物ですから名前に法則性があるので、それさえ把握すれば適当に眺めていくだけでも自分のやりたい事を実現できるコマンドが見つかる事も。
(Get~とか、Is~とか、Set~とか、Mod~とか)

アホが暴れていらない宣言まで出してるが、2ch内部でScript検討(と言うかModお披露目前の相談)に使ってたスレや、外部に作成されてるOblivion板の方では先人の試したScriptの事例などが載ってるので、一読すれば勉強になる内容もあるかと。

ちと続行する気力が萎えた。
放り出してるMod修正の方に戻る事にしますわ。

| | コメント (0) | トラックバック (0)

2008年1月16日 (水)

足跡 および 雑記帳

「特定の項目に関する話じゃないなぁ」と言う話題にお使いください。

・ ページ読みにくいぞ
・ こういう設定した方が良い

と言ったご指導大歓迎。

コメント付けてくれる人居なくて寂しいんだわ。(^^A

| | コメント (1) | トラックバック (0)

Mod作成の私家版チュートリアル

01) ツールの準備

02) OBSEの勧め

03) CSを弄ろう(その1)

04) CSを弄ろう(その2)

05) CSを弄ろう(その3)

06) Scriptの出来る事

07) Scriptを作ろう

08) Scriptを動かす(その1)

09) Scriptを動かす(その2)

10)Scriptを作ろう(補足

11)具体例に入る前に

| | コメント (0) | トラックバック (0)

2008年1月15日 (火)

10)Scriptを作ろう(補足

◎やっちゃいけない事

07) Scriptを作ろう で“他のScriptを参考にして~”てな事を書きましたが、
大事な事を書き忘れてた・・・。orz

ObjectWindowで列挙されてるObject達はEditorIDを変更すると確認窓が出ます。

前とIDが違ってるけど、新しい物として登録する?

って奴ね。

Yes と応えれば同じ情報を持つけどGame世界に未参加のコピー品を作る事が出来ます。

が・・・

Scriptで同じような事やっちゃ駄目!!
     以前にやって大失敗したんだよぅ。orz

 

  1. スイッチのObjectはボタンを使用された時に見かけを変化させる処理が仕込まれます。
    んで、それを流用しようと思いスイッチのObjectを複製
     
  2. 複製品にも既にScriptが関連付けられてるのでスイッチObjectのEdit画面を開き、
    Script欄の右側にある“…”ボタンを押してScriptEditorを開く
     
  3. 出てきたScriptをお気に入りのエディターへコピーして色分け表示にしつつ、
    その処理内容を解析。
     
  4. Scriptの固有名詞である scn (もしくは ScriptName )の部分を
    別の名称に変更し、処理の部分も必要な内容に変更
     
  5. CSに戻って編集したScriptをScriptEditorに貼り付けてSaveし、
    エラーがなければEditor終了。
     
  6. スイッチのEdit画面でOKを押して閉じる。
     
  7. CSツールバーのFDアイコンを押してModセーブ
    (CS窓の上部にでてるMod名の所が[Mod名]*から[Mod名]になる)

と言う事をやった結果、
 コピー元のスイッチに関連付けられてたScriptまで変更したScriptに
変わってました。orz

 

この原因は5の部分。

2の部分で元のScriptを編集中って状態にし、そのまま名前の違うScriptを貼った為に本来のScriptを上書きしてしまったらしい。
(名前が違ってようが上書きセーブ判定なので元のスイッチ側も新しいScriptに変化)

7の段階でもObjectWidow側の表示は元のScriptに関連されてるように見えたんだけどねぇ。
一度OnjectのEdit画面を開いてみるとScript名が変わってた・・・。

と言う事で、新しいScriptを仕込む場合は
 ScriptEditorで必ずNewから空のScript画面を開き、
 そこに新規Scriptを貼り付けて保存。
 その後でスイッチの方のScript欄で新しいScriptを選んで関連付け

と言うふうに気をつけてます。orz

 

10)から具体的な処理内容の話を出来ると思ってたのになぁ。(つД`)

| | コメント (0) | トラックバック (0)

HTSCの次の予定

忘れないうちに書いとこう。
少しだけやりかけたまま放置気味のHTSC v1.1.0 の続編で修正される予定の物

  • 指摘のあったコンソールコマンド案内手紙の重量を0に。
    また捨てても入手済みなら再入手の処理が走らないように。
     
  • チーズの熟成行程の処理に不備を見つけたので変更。
    熟成に必要な期間をランダムで最大3日減らしてた処理を、
    錬金術スキルに応じて最大2割削減するのみに。
    (普通のチーズはレシピ本の通りに3日が2日くらいに減る)
    (他のチーズも錬金術スキル0なら1週間ないし2週間、スキルに応じて最大2割短縮)
     
  • チーズは加熱後にPotから取り出し、外に置いた時に初めて熟成がスタート。
    (今まではPotから取り出した時から熟成スタート)
    熟成が終わってない段階でActivateすると残りの必要日数を表示。
    (これにより外に出しちゃうと拾えなくなるので、熟成棚のような場所が必要かなぁ)
    でも、この処理はやめるかも・・・。
     
  • MagicEffect変更Modの影響を受けないように、
    まな板などの動作確認Effectを独自の物に変更
     
  • スウィートケーキの作成数量を調整。
    (現状、レシピ本には3個できるって書いてるのに1個しか出来ない)。
    スウィートロールの方もバランス取るために多分処理方法変更。

ここまでは確実に修正する予定。

 

修正しないといけないけど、さて困ったと言う項目。

  • Potの処理方法変更。
    複数の種類を投入した時に、火にかけるまで「処理できね」と言うメッセージでないので、
    投入した段階で拒否するように。
    1種類だけなら複数の数量を同時に処理しても問題が起こらないように。
     
  • Potを火にかけたとき、加熱の待ち時間を無視して連続完成するのを防止。
    バグなんだけど、加熱処理部分も含めて変更量が色々っぽい。
     
  • 焼き処理と燻製処理を楽にするために、Itemを1つずつバラす方法を導入。
     
  • 燻製室のお肉。既に下げてる所は新規に反応しないようにして、
    燻製完成前の肉片を床にばら撒かないように。

一応忘れてませんよ~って事でメモ書き。
スレで教えてもらったセルリセット発動した時の調理場の怪も調べないとなぁ・・・。

あ、残念なお知らせが1つ・・・。

Salmo The Baker への対応を~って熱烈な要望を出してくれてる方が居ましたが、
試しに導入してみたら何かが違う・・・。

 チーズやパンなど今の奴と存在が被る物の取り扱いに困る。

Salmo側だけ食べるのみってのも何か変。だけど同じものあるので追加処理にも魅力感じられない
パイやタルトは魅惑的だったんだけどなぁ。

 鍋とかのメッシュが“中に物を入れて持ち運び”ってのに対応できそうに無い。
 (コレが一番期待してたのに。orz)

など、ちょっと安易に導入するには色々と思い切りと妥協が必要そうに感じたので、
HTSCへの組み込みはしないって方向になっております。

食べるだけならvHTSPlayerというScript部分に必要な項目を書くだけなんですけどね。
食べれるのに切れないとか作れないって変じゃね?ってのに応えられそうに無い・・・。
自分で作れちゃったら専門店がある必要が無い気もするし、でも作りたくなるし・・・。

申し訳ない。m( . _ . )m

| | コメント (0) | トラックバック (0)

2008年1月14日 (月)

09) Scriptを動かす(その2)

◎Scriptが動くタイミング

前回の記事でScriptをゲーム内に参加させ効果を発揮する準備を整える方法を書きました。
さて、これでScriptが動くでしょうか?

動く事もあれば動かない事もあります。

と言うのも、Scriptにはそれぞれ動作できる条件と言う物があるためです。

 

Scriptは基本的に
   PlayerがScriptの関連付けられたObjectの傍に居る時
しか動作できません。

(詳細はCSHelpの“Script Processing”を参照のこと)

 

Questに関連付けたScript(以降はQuestScriptと記述)の事を“神の視点から動作する”と書きましたが、QuestScriptだけは「そのQuestが実行中であれば常に処理が実行されている」と言う意味です。Playerが何処に居ようが関係ありません。

QuestScriptはQuestの設定次第ですが、ゲームを始めた時に自動で開始する事が可能であり、完了したクエストの印が付いても処理が継続される事が特徴です。
完全停止させるにはStopQuestコマンドによって明示的に動作を停止する必要あり

CSHelpの方でも完了したクエストはコマンドで停止し、続きが必要なら2つ目のクエストを作成して引き継がせるべきって推奨してますね。

またQuestScriptは標準では5秒間に1度だけ処理が実行されるとの事。

fQuestDelayTimeの値を変更する事で処理頻度を変更する事が可能。
但し、常に動作するScriptなので扱いには非常に注意する事。
  CSHelpには
    安易にQuestScriptを使うより処理方法を見直せ
  
との強い警告が…
むやみな処理頻度増加はゲームのパフォーマンスに著しい影響を与える。

と言った注意書きが書いてあります。

 

Playerが周囲に居なくても動作するScriptとしてActorsカテゴリのObject(NPCやCreature)に関連付けたScriptがあります。
こちらはPayerが傍にいない時はゲーム内時間の15分に1度だけ処理が実行されるようです。
 

これら以外の場合、動作する条件を満たしたScriptは毎フレーム(FPSの事だと思う)処理されるチャンスがあるようです。
 

先ほどから「傍に居ない」との表現を使っていますが、標準の環境では“LoadingArea”と言うのが時々表示されると思いますが、この読み込んだ空間(Cellと言う表現と同じ意味だと思う)の事だと思います。

その為、Playerの視界に入っていなくてもScriptが実行される可能性があるため、処理の内容によってはPlayerとの距離を算出し、一定範囲以内では動作しないと言った細工をした方がパフォーマンス低下を防げると思います。

 

以上、簡単ではありますがScriptが動くにはどういう準備が必要かってのを書いてみました。

後は実行するチャンスを得たScriptがどのタイミングで動くのかを決める
  “Begin~endブロックの使い方”
を理解すれば良いかと思います。

| | コメント (0) | トラックバック (0)

08) Scriptを動かす(その1)

◎動かす準備

Scriptを作成しCSのScriptEditorで保存。エラーも無く保存完了!
これで自分の考えたScriptが動作してくれるはず~~~。

と、期待する事も有ったかもしれませんが、これではScriptは動きません。orz

新しい武具や魔法を作った時、Objectとして登録しただけではGame内に反映されないのと同じように、Scriptを何らかの方法でGame内に参加させてやる必要があります。

ObjectWindowに登録されている物のプロパティを開いて、その設定項目を眺めてみると分かると思いますが、幾つかのObjectにはScriptと言う欄があります。(Script欄が無いObjectも有り)

ScriptをGame内に参加させるには、

  1. ObjectのScript欄で目的のScriptを選択し、ObjectとScriptを関連付ける
  2. 1で関連付けたObjectをGame内へ参加(配置や販売など)。

と言う手順が必須になります。

 

ここで少しトリッキーなのがQuestObject
CSのメニューバーから 「Character」→「Quests」と選ぶ事で表示されるクエスト設定用の専用窓ですが、ここにもScript欄が存在します。

本来はメインクエストやギルドクエストなどを管理する為のObjectで、

  • QuestStageの管理によって設定された条件が満たされれば次の指示を与える。
  • クエストの進行に必要なターゲットを指定し、位置をMapに表示。
  • クエストに関する会話内容や発言者を登録。

と、これ自体で1つのプログラム的な動作を実行できるのですが、ここにも独自のScriptを関連付ける事が出来ます。

このQuestに関連付けられるScriptは少し特殊で、
神の視点からScriptが動作する唯一のObjectといって良いかもしれません。
(Script利用Modの多くで動作開始の切っ掛けにQuestが使用されたりしている)
(透明なObjectをPlayerに随伴させるって方法で似たような事できるかも?)

但し、Questに関連付けられるScriptには、
 ScriptEditorでScriptTypeQuestとして保存されたScriptだけ
と言う条件があります。

 

次に、ぱっと見ただけでは分かりにくい物として魔法効果としてのScriptがあります。

ObjectWindowのツリーからMagicを選ぶと魔法関連の登録が色々有るのですが、
この中でScriptを関連付けられるのはPotionだけに見えるかもしれません。

しかし、ScriptEffectと言う物が存在します。
これは魔法の効果として直接Scriptでの処理を指定した物です。

CSで魔法を新規作成する時には、

  1. Enchantment・Potion・Spellのどれかで新しいEdiotIDとして魔法を登録。
  2. 登録した魔法のEffect欄で右クリックし、出現したメニューからNewを選ぶ
  3. EffectItemという窓がでるので、そこで目的のEffectを選択し、性能を設定。

という流れになりますが、この3の部分でScriptEffectを選択するとOK。
(新規作成でなく変更でもOK。その場合は1を飛ばし、2でEffect追加するかEditで)

但し、ScriptEffectに関連付けられるScriptには、
 ScriptEditorでScriptTypeMagicEffectとして保存されたScriptだけ
と言う条件があります。

こちらもある意味では物体を伴わないScript動作方法です。
動作モードも少し特殊な物が使用でき、一時的な動作をさせるのに便利。 

 

だいぶ当初の目的に近い内容になってきたか。orz

| | コメント (0) | トラックバック (0)

2008年1月13日 (日)

07) Scriptを作ろう

◎何から始める?

CS Help を見ると Script → Sript Tutorial と言う項目がちゃんと用意されています。
そこの“My First Script”“My Second Script”をじっくり読んで貰うと・・・。

と言いたいのですが、言われるまま作業をして「はい理解できましたね」ってのはなかなか無いですよねぇ。(自分もあの形式のチュートリアルは嫌いw)

  でも、必要な事は一通り書いてあるので一度は読む事をお勧めします。

幸いな事にOblivionのModは暗号化されておらず、必要な情報は全て開示されてるに等しいです。自分が使ってるModで面白い動きをしてるなら、そのModをCSで開いてどういう処理方法で実現しているかを調べてみると良いかも。

自分の場合は上に書いたようにチュートリアルはすっ飛ばしていきなりModを見てました。

やりたい事に近いModをCSで開き、前に書いた方法で何をされているのか見当をつけ、
そこの記述がどう弄られてるのかを調べる事で勉強してます。

Scriptの場合も同様で、使用されているScriptを開きどういう処理されてるかを眺め、
知らないコマンドの類をCS Helpのキーワードで検索したり、TES Construction Set Wikiで調べて意味を把握すると。

OBSEのコマンドはCSHelpには乗ってませんが、Wikiの方には詳細に書かれています。場合によっては参考になるサンプルも載ってるので活用すると便利。

ここで便利なのが“高機能なテキストエディター”による色分け表示。
(一番最初の項目参照)
変数の宣言やコマンド・コメントなどが色分けされて表示されるので、文面の意味を把握しやすくなります。

◎マメ知識

  • 変数がよくわからん!!
    とりあえず、CS Help のキーワードで一番末尾の方に変数に関して説明してる項目が幾つか有るので読んでみてくださいw
    Script上で変数を使用する場合、その変数はどういう形式の物かを記述する必要があります。
    (Short とか Ref とか)型宣言という言い方もされます。
    宣言の無い変数が存在するとScriptをSaveした時にエラーメッセージが出てSaveできません。
     
  • ;(半角セミコロン)てなにさ?
    半角セミコロンの後に書かれてる文面はコメント文として判断され、Scriptの実行からは無視されます。
    メモ書き等を使えScriptの理解を補助する手段に使えます。
    親切な作者は「ここから先はこういう事してる」とか、「これは何に使う変数」といったメモを書いてくれてます。
     
  • 変数(X)に値を代入する
    Set  X to 値  ; X に値 が代入される。
     
  • Begin には Endif には Endif必ずペアとして存在。
    数が合わないとエラーになる。EndとEndifを間違えないように。
     
  • if の 後に書くべき記号は?
    等しい時  :  ==
    超える  :  >
    以上  :  >=
    以下  :  <=
    未満  :  <
    同じで無い  :   !=

     
  • 複数の条件を比較したい
    and の場合は &&、or の場合は || で 2つの条件を繋ぐ。
    (例えば if A == 1 && B != 1 など)
     
  • 順番に条件を比較したい(パターン1)
    if 条件1
     
    何かの処理1
      if 条件2
         何かの処理2
      endif
    endif

    条件1が成立すると「何かの処理1」を実行。
    その後、条件2をチェックし条件2も満足すれば何かの処理2が実行される。
    ( if 条件1 && 条件2 と似た感じだが、途中で何かの処理1を挟める)
    条件1が成立していなければ、何もせずに一番下のendifへ移動する。
     
  • 順番に条件を比較したい(パターン2)
    if 条件1
         何かの処理1
    elseif 条件2
         何かの処理2
    else
         何かの処理3
    endif

    条件1をチェックし成立していれば「何かの処理1」。
    条件1が成立していなければ条件2がチェックされ、成立していれば「何かの処理2」。
    条件1条件2も成立していなければ「何かの処理3」が実行される。
    elseif は 複数入れる事も可能だが、else は1つのみ。
     
  • 記述の省略
    コンソールコマンドと同じくコマンドを省略して書く事が可能。
    (ModActorValue を ModAV など)
    大文字と小文字は区別されない。
    (大文字を混ぜる方が見た目で把握し易いか)
    if 条件 == 1 の場合は if 条件 と言う記述でもOK

とりあえず思いつくまま書いてみた。

| | コメント (0) | トラックバック (0)

06) Scriptの出来る事

◎何が出来るの?

  いろんなことが出来ます(おわり!

だけじゃ余りにも手抜きなので・・・

例えば、カッコイイ剣をモデリングツールを駆使して作り上げたとします。
それだけでも素晴らしい成果です。
CSを使って新規のWeponObjectとして登録し、性能を決め、入手可能な場所を設定し、場合によってはクエストを作りと、作業量も結構な物です。

しかし、その剣にScriptを使った処理を埋め込めば、更にユニークな特徴を持った武器へと変身します。
 

自分の好きなScriptを仕込まれた剣Modを以下に紹介。

Lilarcor (オリジナル英語版。日本語化するためのファイルはコチラ
 ・“the talking sword.” と言う副題も持つ剣Mod。
 ・副題が示すように色々おしゃべりする剣だが、
  その内容はある程度Playerの状況に応じた物になっている。
 ・気まぐれに火・雷・氷の属性を纏い、時によっては威力と速度が上がったりする妙な奴。
 ・戦闘中、唐突に広範囲の高威力魔法を相手に叩き込んだりする困り者。
  (ガードなんかが巻き込まれると“すた~~~ぷ”されたようなw)
 ・魔法扱いになってるが、Lilarcorと会話する事で姿を両手剣・長剣・短剣へ変えることも可能
 ・Phantomという透明な分身を召喚し、Playerと一緒に戦わせる事も可能。
  
 などなど。なんとなくコイツが喋ってないと寂しくなるので常に持ち歩いてる一品。

Mighty Umbra (オリジナル英語版。日本語化するためのファイルはコチラ
 ・元のOblivionから存在するUmbraを、その関連クエストごと拡張するMod。
 ・Umbraの設定に過去のTESシリーズでの扱いも絡め、凶悪な呪いの剣風に味付け。
  (Obの元Umbraは威力それなりでSoulTrapをEnchantされただけの片手剣)
 ・SoulTrapの代わりにUmbraで敵を倒すとUmbraが魂を喰らいます。
  魂を喰らわないと飢えていきPlayerにペナルティを発生。
  (クエストを完遂してUmbraの主だと認められるとペナルティは発生しません)
 ・Umbraを手にしてしまうとクエストを完遂するまでUmbraから手が離れず。
  (武器変更不能、装備解除不能)
 ・Umbraが満腹じゃない時は抜刀スニークすると生命探知の効果発動。
 ・Umbraを装備している間、少しだけ近接戦闘よりの能力に変化。
 ・Umbraを抜刀して戦っている時に窮地に陥ると大幅にステータス向上(HPも徐々に回復)。
 ・支配下に治めたUmbraで敵を倒し続けると、時々集めた魂を込めたGemを入手。

 他にも色々仕掛けあったかな?
 TES3のように両手剣に戻すだけのつもりで導入してみたら、とんでもない武器になってたw
 威力と特徴の両面と入手するまでの苦労から切り札として愛用。

と、剣のModを例に出しましたが別に剣に限った話ではありません。
いろいろな物にScriptを仕掛けて特徴を強調する事も出来ますし、ちょっとした小細工程度にも使えます。

例えば、HTSCの場合。
HTSC Ver1.0.0でHISSSSA(ヒッサー)さんのCyrodiil Milkを使わせてもらいましたが、
販売所の牛乳ケースがお気に入り。しかし、ケース内部の牛乳が安定してくれず四苦八苦。

なんとか倒れないように細工をし、散らかされても綺麗に元通りする方法は出来たものの、
盗まれちゃうと再補充は難しい・・・。

で、販売所に置いてある牛乳ケース内部の牛乳に入手不可能にするScriptを仕込みましたw

と言ってもたった数行のScriptですけどね。
こういう小細工も出来るって事です。

| | コメント (0) | トラックバック (0)

2008年1月12日 (土)

05) CSを弄ろう(その3)

◎RenderWindowの操作

CSHelp の Getting StartedMy First Dungeon にも書いてあるので、
RenderWindowでカメラや物を操作する時のキー操作覚書。

・物の選択
 左クリックで1つを選択。ドラッグで囲むと複数を一度に選択可能。

・選択した物に注目
 Cキーを押すと斜めから見降ろした俯瞰視点。
 Tキーを押すと真上から見た視点。
 基本的には北を上として表示する。(「NorthMarker」で定めた北には影響されず。)

・カメラ操作1(ズーム倍率)
 マウスのローラーを転がす(デジタル的)。
 Vキーを押しながらマウスを上下に移動(アナログ的)

・カメラ操作2(上下左右への平行移動)
 Spaceキーを押しながら or マウス中央ボタンを押しながらマウスを移動

・カメラ操作3(方角の変更)
 Shiftキーを押しながらマウスを移動。上下左右好きな位置からの視点に出来る。

・物の操作1(場所の移動)
 物を選択し、その物体の上からマウスをドラッグすると任意の位置へ平行移動。
 X、Y、Z のキーどれかを押しながらだと、特定の方向のみへ移動方向を限定。

・物の操作2(回転)
 物を選択し、その物体の上でマウスを右クリックしたまま移動すると回転。
 X、Y、Z のキーどれかを押しながらだと、特定の軸を中心として回転。

・物の操作3(位置あわせ)
 空中に浮かんだ物を選択し、Fキーを押すと一番近い平面まで落下。

・物の操作4(微調整)
 位置決めしたい物をWクリックし「Reference」窓を出す。
 “3D Data”タブの各項目で任意の値を入力。

前エントリで書いていた「店員に所有権のある箱」と言うのも
「Reference」窓の“OwnerShip”タブで設定可能。
この箱は床下などプレーヤーに見えない場所へ配置してもOK。

・設定された光源を無視
 Aキーを押す or ツールバーの電球マークをクリック

・光源の影響範囲を図示
 Lキーを押す。明かりの影響する範囲を円で示してくれる。

・ワイヤーフレームで表示
 Wキーを押す。(余り使った事無い)

・ドアで繋がった先の確認
 ドアマーカー(黄色い角柱と紫の4角錐が組み合わされた奴)をWクリックすれば接続されている場所に描画エリアが移動する。

・その空間に配置されている物の一覧
 CellView窓の右側に表示されている物が配置されている物一覧。
 うっかりと亜空間に配置してしまった物もCellViewからなら探索可能。
 一覧からObjectを選び、Wクリックすると何処に配置されているかが表示される。

| | コメント (1) | トラックバック (0)

04) CSを弄ろう(その2)

◎データを読み込んだ後は?

読み込むデータを決定しOKを押した後は読み込みに結構時間が掛かります。
CSのHelpに「飲み物でも用意してゆっくり待つのが良いでしょう。」と書かれるくらいですw

詳しい方法はCSHelpの“Getting Started”から順番に読んで貰う方が良いのですが、
知ってると便利な部分だけを手短に。

・ObjectWindow

CSではObjectと呼ぶ物で全てを管理しています。
NPC1つの情報もObjectですし、武器の設定もObject、クエストの情報もObjectで、魔法の効果やキラキラ光る演出もObjectとして管理されています。

で、これら雑多なObjectを一部を除いて一覧できるようにしてあるのがObjectWindow。
カテゴリーごとに分類されているので、枝を手繰る事で目的の項目を探す仕組みになってます。
(NPCならActors → NPC、武器ならItems → Weapon てな具合)

カテゴリを選ぶと右側に登録されているObject群の一覧が出ます。
 EditorID , , Count , Users , Name ・・・・
と言う感じの項目が出てると思います。

EditorIDは固有名詞であり、同じIDをつけた物が同時に二つ存在する事は許されません。

別のModで同じIDを使用していると、該当するObjectの性質を変更する(LoadOrder次第)か、
複製品を作り出して管理されます。

CountはそのObjectがゲーム世界中に幾つ初期配置されているか。
UsersはそのObjectの情報を使用しているObjectが幾つあるかを示しています。

「ICのJensineの店で牛乳を販売させたい」と思ったとき、
ObjectWindowから Actors → NPC を選択し、一覧のNameから Jensine を探す。

Jensine の情報を管理しているObjectは容易に見つかり、ObjectをWクリックして「Inventory」へ牛乳のObjectを放り込めば販売可能・・・。ってのが一番簡単な方法ではあるのですが、この方法だと別のModでJensineの情報を変更されると販売してくれなくなります

そこで一般的に使用されているのが
 「店員に所有権を持たせた箱を新規に登録し、そこへ販売Itemを追加する」
と言う方法です。

これには Jensine の居る店の位置を探す必要があります。
で、ObjectWindowの活用法。

JensineのObjectが判明しているなら、Wクリックするのではなく右クリックしてみましょう。
「New」「Edit」というメニューが表示され、一番下に「UseInfo」と言うのが出てるのが分かるはずです。

「UseInfo」を選ぶとそのObjectに関連する物や場所の一覧を表示する窓がでます。
その窓の下の部分「Use in these Cells:」と書かれた場所の項目をWクリックしてください。

今まで何も表示されていなかった「RenderWindow」にお店の様子が表示されたと思います。
これで店員に所有権を持たせた箱を新規に登録する準備が出来ました。

この方法を応用すると「XXは何処にありますか?」系の質問は、他人に聞かなくてもCS開いて容易に探せるんですよねぇ。(^^A

長くなったのでRenderWindowは次の項目で・・・。

| | コメント (0) | トラックバック (0)

03) CSを弄ろう(その1)

◎データの読み込み

CSを起動して最初にする事はとりあえずデータを読み込む事です。
メニューバーからFile→Dataと選ぶか、ツールバーのフォルダっぽいアイコンを押すとData指定窓が出ます。

Data_2

ここで読み込めるのは次の2種類のファイルのみ。
  ・拡張子が.esmのファイル : Master File
  ・拡張子が.espのファイル : Plugin File

Master FileはOblivionを遊ぶために必要な情報が全て詰まった“Oblivion.esm”のような特殊なファイルの事で、CSからは参照ファイルとして読み込むことは出来ますが、
加えた変更を直接Master Fileへ上書きする事は出来ません
Master Fileへの変更は全て新しいPligin Fileとして別途保存する必要があります。
またCS単独ではMaster Fileを作成する事が出来ません。

色々と特殊なようで、Master Fileを作成するツールを持っている場合でも、不用意にMaster File化するのはやめた方が無難かもしれません。

Plugin File の方は加えた変更を上書きし改変を重ねる事が出来ますが、
読み込んだFileへ上書き保存するためには読み込む時に Activate File として読み込む必要があります

Activate File とするには窓の左下にある「Set as Activate File」のボタンを押せばOK。

但し Activate File を指定してデータを読み込んだ場合、普通のツールのように「別名で保存」と言った事は出来ず、常にActivate File 対する上書き保存しか出来ない。

読み込むファイルが何を変更しているModなのかを知りたいときは「Detales...」ボタンを押してみると良いでしょう。

Filedetails

Type欄は慣れない内は暗号のように見えるでしょう。

CSで使うObject種別の略称になっています。

SCPTだとスクリプト、
SPELだとスペル、
QUSTだとクエストって感じですね。

EditorIDは変更箇所の固有名詞です。

 

 

 

 

 自分用のModを作成している際、
  余計な場所まで弄ってしまった・・・。
なんて事がたまにあります。

この場合、元通りに書き戻したつもりでも変更箇所としての記録は残るので、
別のModとの関係で動作がおかしくなると言う事も良くあります。(LoadOrder関係)

このような場合、Detailesを出して該当するEditorIDを探し出し、それを選択してキーボードの「Delete」キーを押すとIgnoreというマークが付き、“そのModでの修正を無視する”という処理がなされます。

完全に修正箇所としての記録を消したい場合はIgnoreマークをつけてから読み込み、上書きセーブしてやれば綺麗に消えます。

1枚目の画像の“Created By”と“Summary”の欄には自由にメモを書き込めます。
ただし、書き込んだ瞬間に反映されるようで、別途セーブするとかは必要ありません。
自分の加えた変更を書いておけば、複数のVerを比較しながら弄る時とかに便利。

| | コメント (0) | トラックバック (0)

2008年1月11日 (金)

02) OBSEの勧め

◎どうしてOBSE?

OblivionのModを導入したりする際にたまに見かけるOBSE必須Mod。
OBSEって何?と言う人もいるかと思います。

正式名称は“Oblivion Script Extender
その名の通り「Oblivion中で使用できるScriptの機能を拡張しよう。」と言うツールです。

日本語化パッチと同じく、本来のOblivionでは実現できない事を外部のプログラムを中継する事で実現可能にしようという少し無茶な行動をさせるので、OBSELoaderというプログラムでOblivionのVerを判別し、使用しても問題の無いdllを自分で選ぶという親切設計になっています。

もっとも、この自己判定のおかげで日本ユーザーが勝手に改造している日本語対応Oblivionの場合では、OBSEが認識している動作可能Verに含まれていないOblivionで実行されていると動作拒否され、色々と混乱を起こしたりしますが・・・。

動作拒否されるのはOBSEがVerUp後に発表された日本語化パッチに関するものなので、少し古めの日本語版はOBSE側で動作可能Verとして登録してくれています
OBSEの作者と日本語版のコードをマメに報告してくれている人に感謝。

他には「OBSEを使うと不安定に」って話もありますが、OBSEのコマンドを使用したMod側のミスというのもあるので一概には言えませんが、VerUpを重ねる事で随分安定度が増していると思われます。


さて、ではMod弄りにOBSEを勧めるのは何故か?

答えは標準のOblivionで使えるScriptのみだとデバッグがしにくいからです。

プログラムを作ってみると自分が思ってたように動いてくれないと言う事はよくある事ですが、
標準のOblivionだとScriptの挙動を把握する方法が殆どありません。
(MessageやMessageBoxを使って動作チェックする方法はあるが、タイミングを計るには不向き)

んじゃOBSEを使うと何が変わるのか?と言うと、
デバッグ向きのコマンドも用意されていると言う事です。

PrintToConsole と言うコマンドがその一つ。

ScriptがPrintToConsoleと書かれた部分を通過した瞬間、
指定された文字列や変数に確保された値をコンソール画面へ表示してくれます。

コンソールを開いてtdt(Toggle debug text )と打ち込み画面上へ内部情報を表示する許可を与えると、ゲームを動かしながらスクリプトの挙動を確認する事が可能です。

 HTSCで睡眠不足の時に登場する幻覚幽霊を復活させる時、
 出現位置や消滅位置およびタイミングの確認と調整にこのコマンドを活用しました。

他にもOBSE用のPluginとして別途入手する必要がありますが、Scriptが取り扱おうとしてるObjectは何であるか?と言う情報を文字列として扱い表示させるコマンドも使えるようになります。

この手の内部情報を確認できる手段があると格段に状況の把握がやりやすくなり、
プログラムの組みなおし検討も容易になります。

OBSEを使ったScriptを使用する準備はいたって簡単。

OBSEが既に導入されている環境だと、TES Construction Set のショートカットをコピーしてプロパティを開き、
リンク先の“TESConstructionSet.exe”の部分を “obse_loader.exe -editor”と変更するだけでOKです。

リンク先の部分を変更したショートカットでCSを起動すればOBSEのコマンドを使ったScriptを作成可能になっています。

他にも本来なら出来ない挙動を可能にするコマンドや、複雑な処理手順が必要なScriptをコマンド1つで実現可能にしてくれている等、使い出すと面白いですよ。

| | コメント (2) | トラックバック (0)

2008年1月10日 (木)

01) ツールの準備

◎OblivionのModを作る時に必要なツール

TES CONSTRUCTION SET http://www.elderscrolls.com/downloads/updates_utilities.htm

 Oblivionを開発した Bethesda Softworks が提供している公式ツール。
 ちょっとしたItem性能の修正から大掛かりなクエストまでやる気があれば色々できる優れもの。  詳しい使い方はこちら(英語)。

 Oblivion Wiki JP では上記Wikiの基本的な部分を日本語化してくれている優れたHelpファイルが配布されているので参考に。


新しいItemなどを追加したい場合は別途3D系のツールが必要。

 こちら (英語)に色々と紹介されてる。無料のツールから業務用の高機能なモデリングツールなど様々存在するらしいが、自分には扱えない部類のツールなので詳細は割愛w


Scriptを主体にしたModを作りたい場合、高機能なテキストエディターを準備すると便利。

 TES CONSTRUCTION SET にもScriptEditorが内臓されているが、べた書きなので使いにくい。Windowsに標準で付属しているノートパッドも同様。
 国内のテキストエディターではサクラエディタ等が有名なはず。
 キーワードを登録してやる事でScriptの記述が色分けされてかなり見やすくなる。
 (こんな感じ)

 以前に作るだけ作ったサクラエディタ用のキーワード用設定ファイル詰め合わせ も一応ご紹介。

 自分はEditPlus 2と言う海外製のシェアウェアを使用してます。
 TESNにUpされてた定義ファイルを偶然見つけて、当時はサクラエディタで色分け表示する方法を知らなかった・・・。
 でも、シェアウェアなだけ有ってかなり便利。
 if ~ endif の間を折りたたんで表示できたりするので、長いScriptで挙動を把握仕切れない時とか動作をチェックしやすいです。

| | コメント (0) | トラックバック (0)

主に弄ってるMod

最近は主に“HTS with Cooking”と命名したModの改良をしてます。

 Oblivionのゲーム内には色々な食材が有るものの、プレーヤーキャラは飲まず食わず睡眠いらずってのが普通。「それって変じゃね?」とでも思ったのか日常的な行為をちゃんと行わないとペナルティが発生すると言うModが色々出てます。

 それとは別に「折角いろいろな材料が有るんだから料理とか出来たら面白そうじゃね?」と、色んな物を触って手間かけて加工できるようにしたModも幾つか有ります。

 で、自分が最近弄ってるのは上記の2つを合体させて、折角料理できたんだから食べる事に意義を与えようってなスタンスのModですw

本来は別の方のアイデアで公開されていたModなのですが、使ってみると何か動きがおかしい・・・。

折角面白いアイデアなのに勿体無いな、何がおかしいのかな?と余計なちょっかいを出し始めたのが始まり。触ってるうちにここの動きも何か変、ここも気になると深みにどっぷり嵌ってしまいました。

(元々Mod公開してた人には申し訳ないのよなぁ)

とりあえず、他のUploaderを使って告知したのと全く同じ物ですが、ここにも置いておきます。

Htsc_v110_5   

ダウンロード HTS_with_Cooking_v110.zip (8353.4K)

今後は公開するまでも無さそうな実験的なアイデアを入れたVerや、作業に関する四方山話でも日記として書いてみようかと。

| | コメント (4) | トラックバック (0)

2008年1月 9日 (水)

Blogに登録してみた。

PC版のOblivion、自分でチョコチョコとModを弄るようになったものの、

公開場所に困ったりする。

あと、バグ報告だけってのも寂しいので、何かレスポンスでも貰えたらなぁと期待してみたり。

とりあえず、イマイチココログの使い方が分からないので、そこから調べてみますわ。

| | コメント (0) | トラックバック (0)

トップページ | 2008年2月 »