今回は、カジノの定番スロットをイベントコマンドのみで作っていきたいと思います。
ピクチャはもちろん、スクリプトもプラグインも一切使いません。そのため、RPGツクールMVTrinityでも実装可能です。
ツクールの標準機能だけで実装していることから、自分の好きなタイミングで演出を加えることもできます。ただ、イベントコマンドで強引に組むという泥臭い方法のため、設定項目がかなり多いのがネック。
とはいえ、処理の内容は同じことの繰り返しなので、慣れてくればいくらか楽かもしれません。
なお、分量が多いため説明ページをわけています。
動画をご覧になる際は、音量にご注意ください。
仕組みの概要
それぞれのリールを止めたとき、[指定位置の情報取得]を活用して3×3マスのどの位置にどの絵柄のイベントが配置されているかを判別します。
その後、横または斜めのラインで絵柄が一致しているかどうかを確認。一致していれば、絵柄ごとに指定した倍率分コインが増えるようにします。
イベントの名前から絵柄を判別することができると便利ですが、イベントコマンドにそのような機能は実装されていません(スクリプトが必須)。そのため、イベントIDを変数に格納後、絵柄ごと(イベントIDごと)に数字を割り振るという処理を挟むことで、絵柄で条件分岐できるようにしています。
イベントの構成上、絵柄の種類の数をあとから変更しようとすると、修正がけっこう面倒です。その点はご容赦ください。
使用スイッチ、変数
スイッチ | 名前 | 用途 |
---|---|---|
1 | 左列ストップ | 左リールの停止 |
2 | 中央列ストップ | 中央リールの停止 |
3 | 右列ストップ | 右リールの停止 |
4 | 準備OK | リールの回転開始 |
変数 | 名前 | 用途 |
---|---|---|
1 | カジノコイン | プレイヤーが所持するコインの枚数 |
2 | 賭ける枚数 | 1回のスロットで使用するカジノコインの枚数 |
3 | 左・上イベントID | 左リール上のマスにとまったイベントのIDを格納 |
4 | 左・中央イベントID | 左リール中央のマスにとまったイベントのIDを格納 |
5 | 左・下イベントID | 左リール下のマスにとまったイベントのIDを格納 |
6 | 中央・上イベントID | 中央リール上のマスにとまったイベントのIDを格納 |
7 | 中央・中央イベントID | 中央リール中央のマスにとまったイベントのIDを格納 |
8 | 中央・下イベントID | 中央リール下のマスにとまったイベントのIDを格納 |
9 | 右・上イベントID | 右リール上のマスにとまったイベントのIDを格納 |
10 | 右・中央イベントID | 右リール中央のマスにとまったイベントのIDを格納 |
11 | 右・下イベントID | 右リール下のマスにとまったイベントのIDを格納 |
12 | 左・上絵柄 | 左リール上のマスにとまった絵柄を判別 |
13 | 左・中央絵柄 | 左リール中央のマスにとまった絵柄を判別 |
14 | 左・下絵柄 | 左リール下のマスにとまった絵柄を判別 |
15 | 中央・上絵柄 | 中央リール上のマスにとまった絵柄を判別 |
16 | 中央・中央絵柄 | 中央リール中央のマスにとまった絵柄を判別 |
17 | 中央・下絵柄 | 中央リール下のマスにとまった絵柄を判別 |
18 | 右・上絵柄 | 右リール上のマスにとまった絵柄を判別 |
19 | 右・中央絵柄 | 右リール中央のマスにとまった絵柄を判別 |
20 | 右・下絵柄 | 右リール下のマスにとまった絵柄を判別 |
21 | 上ライン倍率 | 上ラインに揃った絵柄の種類により倍率を決定 |
22 | 中央ライン倍率 | 中央ラインに揃った絵柄の種類により倍率を決定 |
23 | 下ライン倍率 | 下ラインに揃った絵柄の種類により倍率を決定 |
24 | 左上右下斜めライン倍率 | 左上右下を結ぶ斜めラインに揃った絵柄の種類により倍率を決定 |
25 | 左下右上斜めライン倍率 | 左下右上を結ぶ斜めラインに揃った絵柄の種類により倍率を決定 |
26 | 合計獲得コイン数 | 絵柄の揃った各ラインの獲得コインの合計を格納 |



マップの準備
マップは2つ用意します。
カジノマップと、スロットマップです。カジノマップのスロット台を調べると、スロットマップに移動するように設定します。
カジノマップはツクールのサンプルマップに入っている(MV、MZ)ので、そちらを利用するとマップ制作の手間が省けます。
スロットマップは、マップの設定画面で[スクロールタイプ]を[縦方向にループする]にしてください。絵柄イベントが上から下へループ移動し続けるようにするためです。

今回作成したスロットマップ。参考にしてみてください。

灰色のタイル部分以外では絵柄イベントが見えないよう、マップは通行設定を☆にしたタイルセット(上の画像では黄色い化粧タイルA。タイルセットBからEのいずれかの中に入れておきます)で敷き詰めてあります。
スロットマップへの移動イベント

◆条件分岐:プレイヤーが上を向いている ◆変数の操作:#0082 賭ける枚数 = 10 ◆文章:なし, なし, ウィンドウ, 下 :文章:コイン\V[82]枚でスロットが遊べます。 :文章:スロットで遊びますか? ◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2) :はいのとき ◆条件分岐:カジノコイン ≥ 賭ける枚数 ◆場所移動:スロット (3,6) (向き: 上) ◆ :それ以外のとき ◆文章:なし, なし, ウィンドウ, 下 :文章:コインが足りません! ◆ :分岐終了 ◆ :いいえのとき ◆ :分岐終了 ◆ :分岐終了

カジノマップにイベントを作成します。
スロット1回につき賭けるコインの枚数を変数に格納しておきます(今回は1回につき10枚)。
また、コインとして扱う変数を用意し、変数の値がスロット1回につき賭ける枚数より多いか少ないかで[条件分岐]させます。 多い場合のみ、スロットマップのスロット台の前にプレイヤーを移動させます。
絵柄イベント

ここからはスロットマップのイベントを作成していきます。
絵柄イベントは、マップの縦のマスの数だけ作成してください。
今回使用するマップの高さは13なので、ひとつのリールにつき絵柄イベントを13個作成します。
後に作成するイベントで、絵柄イベントのIDで条件分岐をすることになります。そのためイベントIDに注意しながら作成するようにしてください。
同じリールの同じ絵柄イベントを連番で作ると、後の作業がほんの少し楽になります。



1ページ目(停止状態)

絵柄イベントの1ページ目は止まっている状態です。自律移動のタイプは[固定]にしておいてください。
2ページ目(リール回転中)

2ページ目は、リールがまわりはじめた、すなわち絵柄が下に移動し続けている状態です。
出現条件にスイッチを選択します(今回はスイッチ84番を使用)。
オプションの[すり抜け]にチェックを入れてください。入れ忘れると、一つ下に配置したイベントに引っ掛かって移動が行われません。
自律移動を[カスタム]とし、移動ルートは[下に移動]のみ設定。[動作を繰り返す]にチェックを入れてください。

なお、リールの回転速度は自律移動の[移動速度]により決まります。[2倍速]で遅いと感じたら、[4倍速]にしてみましょう。
3ページ目(リールが止められたとき)

3ページ目は、決定ボタンが押されてリールが止められたときの状態です。
出現条件にスイッチを選択します。それ以外の内容は1ページ目と同じです。なお、ここで指定したスイッチが、リールを止める際に使用するスイッチとなります。
自律移動が[固定]になっていることを確認しておいてください。
絵柄のイベントをひとつ作成し終えたら、あとはコピー&ペーストしていけばOKです。
画像だけを変えていきましょう。
サンプルでは、リールごとに鉄球3個、ゾンビ3個、キツネ3個、勇者2個、宝箱1個、金塊1個を作りました。
3ページ目の[出現条件]のスイッチは、左リール、中央リール、右リールごとに変えてください。
左リールにある絵柄の場合は上記画像のように「左列ストップ」を用いますが、中央リールにある絵柄の場合は「中央列ストップ」という別のスイッチを作り出現条件に設定します。
最初、絵柄イベントが特定の場所に来たら[イベントの位置設定]で初期位置に戻してループ移動させる処理を組んでみましたが、どうも位置設定の際に移動のタイミングがほんのわずかにずれてしまうようです。
リールを止めると絵柄同士が重なってしまうことがたびたび起こったので、マップの高さの分だけイベントを敷き詰め、マップをループさせることで絵柄イベントもループさせる今回の方法に切り替えました。
初期設定イベント
◆メニュー禁止の変更:禁止 ◆移動ルートの設定:プレイヤー (ウェイト) :移動ルートの設定:◇向き固定ON ◆変数の操作:#0081 カジノコイン -= 賭ける枚数 ◆スイッチの操作:#0084 準備OK = ON

スロットマップにプレイヤーが移動した際、自動で実行されるイベントです。
マップの左上隅などに作成しましょう。
トリガーを[並列処理](または[自動実行])にします。
1ページ目で実行していることは以下の通りです。
- メニューの表示禁止(スロット中はメニュー画面を開けないようにします)
- プレイヤーの向きを上向きのまま固定
- 賭けたコインを減らす
- リールの回転開始用スイッチをON(絵柄イベントの2ページ目出現条件で設定したもの)

2ページ目は何も設定しません。[出現条件]は1ページ目に設定したリールの回転開始用スイッチ「準備OK」を使います。
次ページでは、リール停止イベントを作っていきます。
コメント