
↑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
|
さて、各部屋の繋がりと移動方法は出来ましたので、次はアイテム関係に移ります♪
ここでは、部屋にあるラックを開けるとロウソクが有り、ロウソクを取ると手持アイテムに追加される・・・ってな感じの方法を説明します。
特徴としてはラックを開けるまでと、ラックの中を別のシーンに分けて処理をしている点です。シーンを分けることにより、ラックの中だけで受付けるコマンドを限定できます。
-
ラックがすでに開いているなら[F(1)=1]シーンRACK1_OPENにジャンプします。
-
ラックの中を別のシーンとして扱います。〜SCENEENDまで
-
変数[F(0)等]と同様に使用できるアイテムの所持フラッグです。
使い方としては、I(アイテム名)・・・この様に表記します。値が0ならば、そのアイテムは所持していない事になり、1以上で所持している個数を表します。
ここでは、もしアイテム(ロウソク)を持っていなければcandleと言う絵を描画してロウソクがあります!と表示します。すでにロウソクを持っていれば(もうロウソクを取った場合)kararackと言う絵を描画して何も無いよ!と表示します。
-
アイテムを手に入れた場合には、I(アイテム名)に1を代入してあげればイイのですが、GETITEM
アイテム名でも同じようにアイテムを入手した事になります。
例 :
下の2つは同じ意味になります。
・I(ロウソク)+=1
・GETITEM ロウソク
このように、I(アイテム名)とGETITEM
アイテム名を上手く利用して、アイテム処理を行います。ちなみに、アイテムを1度使ったらアイテムが無くなるようにしたい場合には、減算を使えばOKですよね♪
こんな感じで(左右)別々のシーンとしています♪
ROOM3w |
RACK1_OPEN |
 |
 |
 |
 |
ROOM3w |
RACK1_OPEN |
ここまで出来れば、もう普通のADVなら作れますね♪
上手く出来たら、次に進みましょう --->
|