【初心者です】鍵付き扉の作成

初心者キヨ
記事: 2
登録日時: 2017年7月18日(火) 23:54

【初心者です】鍵付き扉の作成

投稿記事by 初心者キヨ » 2017年7月19日(水) 00:06

初めまして。
既に他の方が質問されているかもしれませんが、鍵付き扉について質問させていただきます。

◾︎プレイヤーがアイテム欄を開き、鍵を選択して使用すると開く扉
を作りたいと思っています。

このサイトのスレを参考にして、
◾︎扉を調べると画面上部に大切なもの欄が自動で表示され、そこから選択して使用すると開く扉
は作ることができましたが、どうしても希望のものができません。

調べたところマップIDの取得や座標ID?というものを使いこなせないとできないようで、当方それらがよく理解できていない状態です。

作成手順としては、
①マップ・座標IDの取得
②アイテム欄から鍵を使用
③扉が開くコモンイベントの発生
といった感じなのですか?

何度も自分で調べたのですが説明がのっておらず…どなたか詳しく解説してくださる方を探しています。

どうかご協力お願いいたします。

アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: 【初心者です】鍵付き扉の作成

投稿記事by にゃたま » 2017年7月19日(水) 23:07

キヨ様

こんばんは。

カギを選んで開く扉を作りたいということですが

まず先に①のマップ座標の取得というのは現在居るマップの座標に戻ってくる場合取得して
場所移動コマンドでその変数を指定します。
ですがこれは移動する場所を変動させたい場合に使うのが一般的です。
通常は単純に移動するだけでしたら基本的に取得しなくてもいいと思います。
場所移動コマンドで移動先マップと座標を指定するだけです。

アイテム欄からカギを指定する場合、「アイテム選択の処理」から選択させたいアイテムタイプと
変数に「選択したアイテム」等分かりやすい名前の変数を作ってそれを指定します。
そして条件分岐でタブ1の変数を選択して先程の「選択したアイテム」を指定します。
成立条件に扉が開くアニメーションや場所移動コマンドを入れれれば完了です。
「条件を満たさないときの分岐を作成」にチェックをいれて否定条件に「そのカギは使えない」等
メッセージを入れても良いと思います。

扉はマップを右クリックして「イベントの簡単作成」’から「扉」を選択して作成して
その中のイベント内容をコピーして先程の成立条件に入れれば簡単に作れます。

③の扉が開くコモンイベントは単純にカギを選ばせるだけなら必要ないと思います。
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 【初心者です】鍵付き扉の作成

投稿記事by ビービー » 2017年7月21日(金) 00:00

こんばんは。

メニュー画面のアイテム選択からアイテムを使用したいのであればこのような方法があります。
鍵を使う扉の前(鍵を使う主人公が立っている位置)にリージョンを指定する方法です。
アイテム使用時に実行されるコモンイベントとして作成してください。

◆変数の操作:#0007 主人公座標x = プレイヤーのマップX
◆変数の操作:#0008 主人公座標y = プレイヤーのマップY
◆指定位置の情報取得:リージョン取得, リージョンID, ({主人公座標x},{主人公座標y})
◆条件分岐:リージョン取得 = 180
◆注釈:扉が開く処理
◆文章:なし, ウィンドウ, 下
:  :鍵は鍵穴にぴったりと収まった。
◆SEの演奏:Key (90, 100, 0)

:それ以外のとき
◆文章:なし, ウィンドウ, 下
:  :今このアイテムは必要ない。

:分岐終了

以上になります。
事前にアイテムを使用する場所にID180のリージョンを置いておいてくだされば実行できるはずです。
また条件分岐の180を書き換えれば何番のリージョンでも使用できます。
他の場面で使用していないリージョンを使用してください。

また他にもいろいろな方法が紹介されている記事がありますのでリンクを張っておきます。
http://tm.lucky-duet.com/viewtopic.php?f=23&t=3022&p=9889&hilit=%E3%83%AA%E3%83%B3%E3%82%B4#p9875
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
初心者キヨ
記事: 2
登録日時: 2017年7月18日(火) 23:54

Re: 【初心者です】鍵付き扉の作成

投稿記事by 初心者キヨ » 2017年7月21日(金) 22:02

にゃたま様、ビービー様
お二人ともとても丁寧な解説ありがとうございました!!

にゃたま様>>
マップ座標の取得というコマンドをなにやら勘違いしていました。解説ありがとうございました!「移動する場所を変動」というのはなかなかゲームに組み込みにくそうではありますが慣れてきたら使ってみようと思います!^^

扉を調べるとアイテム欄がでてくる…といったやり方だとちょっと簡単になってしまうかな?と思っているので、今回は(私にとっては)少し難しい方法で頑張ってみようと思います!ただ、サクっと進めてほしいゲームはそちらの方法もいいですよね!
ありがとうございました♪^^


ビービー様>>
分かりやすい解説ありがとうございました!!
さきほどやってみたのですが、どうしてもうまくいきません…コモンイベントの画像を載せているので、何か間違っている点があればご指摘お願いします…!

質問ばかりで申し訳ありません。
◾︎リージョンを設定する=主人公が対象物(ドア等)の前に立っているかを確認する ということで合っているでしょうか?
◾︎使用する鍵は「通常アイテム」ではなく、「大切なもの」に設定しなければいけませんか?

ご指導よろしくお願いします>_<
添付ファイル
IMG_0857.JPG
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 【初心者です】鍵付き扉の作成

投稿記事by まっつUP » 2017年7月22日(土) 00:25

初心者キヨ様
お世話になります。

もし、まだうまくいっていないようであれば
以下の方法でお試しいただくとうまくいくかもしれません。

1.プラグイン「EventEnemies.js」をプロジェクトに導入してオンにします。
(中に色々書いてありますが気にしないでください。)

2.鍵のアイテムの使用効果「コモンイベント」で発動する
コモンイベントに以下の実行内容を設定してください。(例です。)
◆変数の操作:#0010 = 0
(イベントコマンド「スクリプト」)
var x = $gamePlayer.rookX(1);
var y = $gamePlayer.rookY(1);
var id = $gameMap.eventIdXy(x, y);
if(id){
if($dataMap.events[id].name === 'ルリ'){
this._eventId = id;
}else{
$gameVariables.setValue(10, id);
}
}
(イベントコマンド「スクリプト」終わり)
◆条件分岐:#0010 > 0
◆文章:なし, ウィンドウ, 下
:  :彼女はルリではない(無言の条件分岐)

:それ以外のとき
◆条件分岐:スクリプト:this._eventId <= 0
◆イベント処理の中断

:分岐終了
◆アイテムの増減:笑顔を・・・ - 1
◆移動ルートの設定:このイベント (飛ばす, ウェイト)
:        :◇ジャンプ:+0, +0
◆セルフスイッチの操作:A = ON

:分岐終了

追記:記述に問題があったため少し手直ししました。

3.扉のイベントの名前をルリにします。
この時セルフスイッチAを条件に開いた扉のグラフィックのページに
切り替わるようにしてあるとなおよいです。
追記:もちろんルリじゃなくても大丈夫ですが
条件式の'ルリ'の部分も変更するようにして下さい。

4.設定が終わったらテストプレイします。
扉の目の前で扉と対面して鍵のアイテムを使用してください。
なんか扉がジャンプしたら成功だと思います。
添付ファイル
EventEnemies.js
(14.01 KiB) ダウンロード数: 6 回
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: 【初心者です】鍵付き扉の作成

投稿記事by ビービー » 2017年7月22日(土) 05:53

おはようございます。

上手くいかないという事ですがそれは
「ここでは使えないようだ」
が表示されるという事でしょうか?

であればおそらくリージョンが配置されていないものと思われます。
正しく扉の前に配置してある場合は下記画像のようになります。
キャプチャリージョン.JPG
キャプチャリージョン.JPG (11.79 KiB) 閲覧数: 3679 回


もしリージョンがわからないのであれば私がここで説明するより
付属のヘルプを見た方がわかりやすいかと思います。
マップデータの設定という項の一番下にリージョンについての説明が載っています。

それとアイテムは使用できれば大事な物でもなんでも問題ないです。

リージョンは正しく配置しているのにうまく動作しない場合は
原因がわからないので
まっつUPさんの提示されている方法をお試しください。

あと前回の例だとプレイヤーの向きを考慮していなかったので
条件分岐でプレイヤーが上(扉の方)を向いているかを確認するか
◆条件分岐:リージョン取得 = 180
◆条件分岐:プレイヤーが上を向いている
◆注釈:扉が開く処理
◆文章:なし, ウィンドウ, 下
:  :鍵は鍵穴にぴったりと収まった。
◆SEの演奏:Key (90, 100, 0)

:分岐終了

:それ以外のとき
◆文章:なし, ウィンドウ, 下
:  :今このアイテムは必要ない。

:分岐終了

鍵を使う直前に上を向かせるかした方がいいかと思います。
◆条件分岐:リージョン取得 = 180
◆移動ルートの設定:プレイヤー (ウェイト)
:        :◇上を向く
◆注釈:扉が開く処理
◆文章:なし, ウィンドウ, 下
:  :鍵は鍵穴にぴったりと収まった。
◆SEの演奏:Key (90, 100, 0)

:それ以外のとき
◆文章:なし, ウィンドウ, 下
:  :今このアイテムは必要ない。

:分岐終了
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/

“MV:質問” へ戻る