| TOP | 解説その1 | 解説その2 | 解説その3 | リンク | ご意見板 |


98Like!別館
スクリプト解説のページその4
98Like!本館はコチラ


↑BLACK DIAMONDで作成したゲームです♪


ココでは、私の作成した『マンスリーハウス』を例にあげて説明をして行きたいと思います。まだお持ちでない方は、今すぐにDLですよ (^_^;)
ここで紹介するスクリプトは、私の独断と偏見で作成した物ですので、本来の使い方とは異なる使い方も有るかも知れません。また、より効果的な使い方も有るかも知れません。あくまでも、一つの方法だとご理解下さい。
では『BLACK DIAMOND』を使って、早速ゲームを作ってみましょう。

まず基本事項ですが
*
(アスタリスク)で始まる物が命令コマンドになります。
>』で始まる物が入力を受付けるコマンドになります。
#』で始まる物はコメントとしてスクリプト上では無視されます。


#_/_/_/_/_/_/_/_/_/_/ ROOM3 /_/_/_/_/_/_/_/_/_/_/

*SCENE ROOM3w
*PICTURE room3-w
   n
w + e
   s


>open rack
*IF F(1)=0
*F(1)=1
OK.
*PICTURE room3-w2
*ELSE
もう開いてるでしょ!
*ENDIF

>search rack
*IF F(1)=0
開けてみたら?
*ELSE
*F(1)=0
*GOTO RACK1_OPEN ・・・・・・・・・・・・@
*ENDIF

〜〜〜〜〜 長くなるので以下省略 〜〜〜〜〜

*SCENEEND

*SCENE RACK1_OPEN ・・・・・・・・・・・A
*IF I(ロウソク)=0   ・・・・・・・・・・・・・・・・B
*PICTURE candle
ロウソクがあります!
*ELSE
*PICTURE kararack
何も無いよ!
*ENDIF

>take candle
*IF I(ロウソク)=1
ロウソクなんてどこにも無いよ!
*ELSE
ロウソクを手に入れた!
*GETITEM ロウソク ・・・・・・・・・・・・・・C
*PICTURE kararack
*ENDIF

〜〜〜〜〜 長くなるので以下省略 〜〜〜〜〜

*SCENEEND

 


さて、各部屋の繋がりと移動方法は出来ましたので、次はアイテム関係に移ります♪
ここでは、部屋にあるラックを開けるとロウソクが有り、ロウソクを取ると手持アイテムに追加される・・・ってな感じの方法を説明します。
特徴としてはラックを開けるまでと、ラックの中を別のシーンに分けて処理をしている点です。シーンを分けることにより、ラックの中だけで受付けるコマンドを限定できます。

  1. ラックがすでに開いているなら[F(1)=1]シーンRACK1_OPENにジャンプします。

  2. ラックの中を別のシーンとして扱います。〜SCENEENDまで

  3. 変数[F(0)等]と同様に使用できるアイテムの所持フラッグです。
    使い方としては、I(アイテム名)・・・この様に表記します。値が0ならば、そのアイテムは所持していない事になり、1以上で所持している個数を表します。
    ここでは、もしアイテム(ロウソク)を持っていなければcandleと言う絵を描画してロウソクがあります!と表示します。すでにロウソクを持っていれば(もうロウソクを取った場合)kararackと言う絵を描画して何も無いよ!と表示します。

  4. アイテムを手に入れた場合には、I(アイテム名)に1を代入してあげればイイのですが、GETITEM アイテム名でも同じようにアイテムを入手した事になります。

     例 : 下の2つは同じ意味になります。
     ・I(ロウソク)+=1
     ・GETITEM ロウソク

このように、I(アイテム名)GETITEM アイテム名を上手く利用して、アイテム処理を行います。ちなみに、アイテムを1度使ったらアイテムが無くなるようにしたい場合には、減算を使えばOKですよね♪



こんな感じで(左右)別々のシーンとしています

ROOM3w

RACK1_OPEN

ROOM3w

RACK1_OPEN




ここまで出来れば、もう普通のADVなら作れますね♪
上手く出来たら、次に進みましょう --->


管理人 : よっしー