Oblivion攻略ブログ 独善的仕置人

シロディール世直しの旅 - Oblivionの悪党仕置プレイ日記と攻略、CS、Modに関する記事を書いております -

CSスクリプト自作方法 Part2 (基本サンプル編)

今回は簡単なスクリプトを例にとってスクリプトの書き方についてお話します。この記事でのサンプルアイテムは「装備しているとプレイヤーの体力が30より小さくなった時に、体力を全快してくれる指輪」です。まずは、必要なものをリストアップするところから始めます。
(※参考画像はクリックで拡大します)

必要なもの

基本的な考え方として、思い浮かんでくることは色々ありますが、終いから考えると分かりやすいと思います。まず、具体的な処理を行う部分では、以下の3つが必要になりそうです。

・回復する命令文
・体力が30より小さいことを取得する条件文
・指輪を装備していることをあらわす条件文

次に、その準備として、下のものも必要になりそうです。

・指輪を装備していることあらわす変数
・装備/非装備に従って変数が切り替わるスイッチ
・変数そのもの

上記のものをスクリプト内に書き込み、好きな指輪に仕込めば、うまく作動させることが可能でしょう。


スクリプト記述

まずは回復するfunction自体を書かなければいけません。使用するfunctionは「ResetHealth」です。スクリプトの構文はfunction毎に違うので、それぞれCSヘルプで構文をチェックする必要はあります。今回は「○○.ResetHealth」となります。そして、回復するのはゲームプレイ中なので、「Begin Gamemode-End」ブロックに記述します。

----参考スクリプト----
Begin GameMode
player,ResetHealth
End
-------------------

まず、核となる部分が完成しました。これが意味するのはゲームプレイ中に「プレイヤーの体力を全快させなさい」という意味です。すなわち、このままでは常に全快させる命令が実行されてしまいます。次に「体力が30より小さい時は」という条件を入れないといけません。体力を参照するfunctionは「GetActorValue」を使用します。構文は「○○.GetActorValue ●●」です。○○は人、●●は属性値を指定します。

----参考スクリプト----
Begin GameMode
If(player.GetActorValue Health<30)
player,ResetHealth
Endif
End
-------------------

これで、プレイヤーの体力が30より小さい時は自動的に回復するようになりました。しかしながら、これでは、例の指輪を装備しているかどうかに関らず、30より小さい時にいつでも回復してしまいます。ここで変数を1つ作成します。指輪を装備していることを表すために「SampleEquip」という変数を自作します。そして、この変数が1の時は装備中、0の時は非装備であると考えてスクリプトを追記します。

----参考スクリプト----
short SampleEquip

Begin GameMode
If(SampleEquip==1&&player.GetActorValue Health<30)
player,ResetHealth
Endif
End
-------------------

この文が示すのは、SampleEquipが「1」で、なおかつ、体力が30より小さい時はプレイヤーの体力を全快させなさいという意味です。ここまでの作業で、実際に処理を行う核になる部分は完成しました。次に、SampleEquipという変数がサンプル指輪の装備/非装備を表すような記述が必要です。

さきほどまで記述してきたのは「Begin GameModeブロック」でしたが、特定の状況を指定してスクリプトを実行させるコマンドが用意されているのでそれを使います。今回使うのは「OnEquip」と「OnUnEquip」です。「OnEquip」は装備した時に実行され、「OnUnEquip」は装備を外した時には実行されます。

----参考スクリプト----
short SampleEquip

Begin OnEquip
set SampleEquip to 1
End

Begin OnUnEquip
set Sample Equip to 0
End

Begin GameMode
If(SampleEquip==1&&player.GetActorValue Health<30)
player,ResetHealth
Endif
End
-------------------

これでスクリプトが完成しました。




自作したスクリプトを保存し、好きな指輪に添付します。これにより、その指輪がプレイヤーの近くにいる場合はそのスクリプトが随時実行されます。




※アイテムの複製方法は以下の記事もお使いください。
 → オブジェクト(Object)複製の手順
 → 装備品の性能を編集する手順

そして、Render Widowで適当な場所に配置します。今回もコロール魔術師ギルドに設置しました。




※Render Windowについては以下の記事もよろしければ。
 → Render Windowの簡単な使い方


最後に必須ではありませんが、装備した時にこの指輪が特別なものであることを示す文や、回復した時にこの指輪の効果であることが判る文が表示されるようにしておくと面白いかもしれません。ダイアログを表示するには「MessageBox」、画面の左上に表示するには「Message」を使います。構文は「MessageBox ""」、「Message ""」であり、""の中に表示したい文章を記述します。





テストプレイ







[ 2008/05/10 ] | CS (Construction Set) | CM(0) | TB(0)
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://monarque.blog84.fc2.com/tb.php/163-567326cf
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
お知らせ

コンテンツ
目次から各記事をご覧いただけます。攻略と狩場についてはxbox360版共通です。

Julienne 更新情報
Ver 4.0をリリースしました。
Julienneについてはこちらです。

リンクについて
当ブログへのリンクは大歓迎です。

その他
なんでもお気軽にコメントどうぞ!

コンテンツ

総目次
→ 総目次 (167)

カテゴリ別目次
→ 妄想プレイ日記 (21)
→ 攻略 (16)
→ 寄り道 (2)
→ ハック&スラッシュレポート (39)
→ CS (Construction Set) (29)
→ Mod (55)
→ Oblivion 雑記 (5)

リンク集
→ Oblivion リンク集

拍手コメントへのお返事
→ お返事

※()内は記事数です。

このブログ内を検索

プロフィール

Author:pela
360版からPC版に移行して、悪党NPCの成敗とお気に入りNPC大軍団編成を目標に遊んでおります。
本当におバカな妄想ブログですが、どうぞよろしくお願いします。

Oblivionブログリンク

Darker than Darkness
lainさん執筆のプレイ日記。笑いあり、シリアスあり、CS解説ありの本当に充実したブログ。CSの説明は丁寧かつ親切で勉強になります。BABオヤジ殿が特にツボ。新キャラも登場して、さらに華やかに。


Romarjuの徒然なるOblivion日記
Romarjuさん執筆のお侍さん冒険物語。プロフィールのイラストと「オブリ短編劇場」の1発ネタもお気に入り。気の強いお嬢様と気の弱いニコフ隊長の掛け合いにニヤリ。


異国情緒
junaさん執筆のプレイ日記。重装騎士殿とかわいいコンパニオンの冒険はいつも楽しい雰囲気です。 高解像度のSSは美しく、好タイミングのベストショット多数。重装騎士殿のChillrendが唸ります。さらに、美人剣士コンパニオン登場!

フジョシプレイOBLIVION
Miariさん執筆のOblivion総合ブログ。オジサマ達の愉快な日記からMartin殿下とのスゥイ〜トな物語まで楽しい記事満載。最近はBABオヤジ殿も出演したりして、笑いがとまりません。その他mod紹介など膨大な記事が参考になります。

黒色アルゴニアンメイジ
Shukaさん執筆のプレイ日記。主人公の暗殺魔術師殿がメインクエストに沿って大冒険。まだら馬とのコンビが似合ってます。Morrowindの日記も執筆されているので旧作ファンも必見!

スポンサードリンク

since 2008 1/30

  Unique Visits 
  Page Views