メモ項目を参照するには?(保留しました。)

Furosiki
記事: 25
登録日時: 2017年4月02日(日) 13:46

メモ項目を参照するには?(保留しました。)

投稿記事by Furosiki » 2018年1月10日(水) 22:02

システム変数を調べているのですが、プラグインの中には、
イベントやアクター、敵キャラやアイテム等のメモ欄を参照して、
独自の演出を行う物がありますが、
RPGツクールMVで扱うメモ欄や注釈を参照するには、どの様な記述が必要な教えて下さい。
どうか宜しくお願い致します。
最後に編集したユーザー Furosiki on 2018年2月22日(木) 00:48 [ 編集 1 回目 ]

アバター
にゃたま
記事: 447
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国
連絡を取る:

Re: メモ項目を参照するには?

投稿記事by にゃたま » 2018年1月11日(木) 01:05

Furosiki様

こんばんは。
メモというキーワードで検索するといくつか候補があがりましたので
とりあえずこれを見てみてはいかがでしょうか?
それっぽいものの紹介のみさせていただきます。

https://tm.lucky-duet.com/viewtopic.php?f=23&t=4313&p=15304
https://tm.lucky-duet.com/viewtopic.php?f=23&t=4065&p=14286
https://tm.lucky-duet.com/viewtopic.php?f=23&t=5092&p=18377
https://tm.lucky-duet.com/viewtopic.php?f=23&t=4536&p=16280
Furosiki
記事: 25
登録日時: 2017年4月02日(日) 13:46

Re: メモ項目を参照するには?

投稿記事by Furosiki » 2018年1月12日(金) 01:17

教えて下さって有難う御座います。
どう打って良いのか分かりませんでしたが、このサイトで「メモ」と検索すれば出るのですね。
私の調査不足ですみませんでした。
それにしてもメモを参照する為の記述がmetaなんですね。これは皆目見当もつきませんでした。
Furosiki
記事: 25
登録日時: 2017年4月02日(日) 13:46

Re: メモ項目を参照するには?

投稿記事by Furosiki » 2018年1月16日(火) 01:59

持っているプラグインを見た所、イベントコマンドの注釈への参照は何となくmatchを使う事は分かったものの、
正しい記述方法が何なのか理解していないので、
イベントコマンドの注釈の参照は、残念ながら上手く出来ていませんが、
メモ内の数値を弄るイベントは作る事は出来ました。

ですが、そのイベントはイベントのメモ内にある数値の分だけお金が貰えるイベントなのですが、
それを動作させている最中にメニューを開いた時、元々記述されている数値へ戻ってしまい、
メニューを開いてはいない時の金額よりも多く貰えてしまいます。
どなたか、これを改善する方法を教えて下さらないでしょうか?
出来れば上記の事をイベントコマンドの注釈で行う時の方法も教えて頂けないでしょうか?
アバター
しぐれん
記事: 493
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: メモ項目を参照するには?

投稿記事by しぐれん » 2018年1月16日(火) 02:11

持っているプラグインと、それを使って何をしたいかが書いてあった方がアドバイスしやすいです。
現状だとお金がもらえる以上の情報がないため、アドバイスしづらいです。
有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付
アバター
フトコロ
記事: 723
登録日時: 2017年2月06日(月) 21:32

Re: メモ項目を参照するには?

投稿記事by フトコロ » 2018年1月16日(火) 20:57

こんにちは。

以前に作成したものですが、イベントの注釈に記載したメタデータを読み取るプラグインです。
https://github.com/futokoro/RPGMaker/bl ... Data.ja.md

イベントの1ページ目に、以下の様に注釈に記述すると
その内容をメタデータとして取得します。

 ◆注釈:<メタデータ:x>

参照方法は下の通り。

 $gameMap.events[n].meta['メタデータ]
  ※n は注釈を記載したイベントのID

参考になれば幸いです。
Furosiki
記事: 25
登録日時: 2017年4月02日(日) 13:46

Re: メモ項目を参照するには?

投稿記事by Furosiki » 2018年1月21日(日) 00:42

遅くなりましたがお二人方とも、お返事して頂き、どうも有難うございました。

しぐれん さんが書きました:持っているプラグインと、それを使って何をしたいかが書いてあった方がアドバイスしやすいです。
現状だとお金がもらえる以上の情報がないため、アドバイスしづらいです。

すみません。コマンドの確認に使用していたプラグインは、mo-toさんのMapIconDrawですが、
一応参照した事の報告だけですので、今回したい事はそれを使った事では無いので省略していました。

やりたい事は、マップに存在するイベントのメモや注釈の記述からお金や幾つかのアイテムを指定の数の分だけ引き出した時に、途中でメニューを開かない限り、そのメタデータは温存されるという物です。

実際は違うのかもしれませんが、ツクマテの書き込みを見ていると、自分でプラグインを作りたいのに、
先に他の方がいつの間にかにそのプラグインを作ってこちらを使って下さいと
公開してしまう事がある様に感じられましたので、なかなか詳しくは言えません。
図々しいかもしれませんが、JAVAscriptの習得も目指しているので、
出来ればプラグイン制作から公開までの流れは自分の手でしてみたいです。

フトコロ さんが書きました:こんにちは。

以前に作成したものですが、イベントの注釈に記載したメタデータを読み取るプラグインです。
https://github.com/futokoro/RPGMaker/bl ... Data.ja.md

イベントの1ページ目に、以下の様に注釈に記述すると
その内容をメタデータとして取得します。

 ◆注釈:<メタデータ:x>

参照方法は下の通り。

 $gameMap.events[n].meta['メタデータ]
  ※n は注釈を記載したイベントのID

参考になれば幸いです。

すみません。注釈もmetaを使うのは分かりましたが、
現在、使い方が悪かったのか、上記の参照方法をマップにあるイベントに記入した所、フリーズしてしまいました。
それにプラグイン戦闘イベントでも試してみましたが、どの様になっているのか分かりませんでした。
アバター
しぐれん
記事: 493
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: メモ項目を参照するには?

投稿記事by しぐれん » 2018年1月21日(日) 07:28

メモや注釈ですが、実行中に書き換えることはバグの原因なのでやめた方がいいと思います。

またフリーズと落ちる(プログラムが停止すること)は区別した方がいいです。
undfined not a functionであれば、フリーズではなく落ちると表現した方がいいです。
プラグイン作りの練習は応援します。
現状作成者の不足を少し感じますからね。

「お金や幾つかのアイテムを指定の数の分だけ引き出した時」とありますが、引き出した後2回目以降はどのような挙動になるのでしょうか?
「引き出す」という表現を使っていることから、1回取り出すと2回目以降は取り出せないものだと想定しています。
なお、この形式の動作であれば引き出した後にイベントのセルフスイッチを用いて引き出し済みフラグを用意するといいと思います。
有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付
アバター
フトコロ
記事: 723
登録日時: 2017年2月06日(月) 21:32

Re: メモ項目を参照するには?

投稿記事by フトコロ » 2018年1月21日(日) 18:23

Furosiki さんが書きました:すみません。注釈もmetaを使うのは分かりましたが、
現在、使い方が悪かったのか、上記の参照方法をマップにあるイベントに記入した所、フリーズしてしまいました。
それにプラグイン戦闘イベントでも試してみましたが、どの様になっているのか分かりませんでした。


すみません。
スクリプトが間違っていました。
$gameMap.events[n].event().meta['メタデータ']
が正しいです。


あと、注釈をmetaで参照できるのは、プラグインでそのように処理しているからで
通常では参照することはできません。

簡単にいえば、以下の処理を行っているためです。
1.イベントの実行内容を参照して
※Game_Map.prototype.readEventsCommentMetadata() の処理

2.参照した実行内容から、注釈コマンドを探して
※readPagesCommentMetadata()の処理

3.注釈コマンドが見つかったら、注釈の記載内容が<meta:data>の形式だったらメタデータに格納させる
※readMetadata()の処理
Furosiki
記事: 25
登録日時: 2017年4月02日(日) 13:46

Re: メモ項目を参照するには?

投稿記事by Furosiki » 2018年1月25日(木) 03:57

しぐれん さんが書きました:メモや注釈ですが、実行中に書き換えることはバグの原因なのでやめた方がいいと思います。

またフリーズと落ちる(プログラムが停止すること)は区別した方がいいです。
undfined not a functionであれば、フリーズではなく落ちると表現した方がいいです。
プラグイン作りの練習は応援します。
現状作成者の不足を少し感じますからね。

「お金や幾つかのアイテムを指定の数の分だけ引き出した時」とありますが、引き出した後2回目以降はどのような挙動になるのでしょうか?
「引き出す」という表現を使っていることから、1回取り出すと2回目以降は取り出せないものだと想定しています。
なお、この形式の動作であれば引き出した後にイベントのセルフスイッチを用いて引き出し済みフラグを用意するといいと思います。


メモや注釈ですが、実行中に書き換えることはバグの原因なのでやめた方がいいと思います。>
そうでしたか、メタデータは悪魔で指標程度にとどめた方が良いという事でしょうか。
となると代わりに配数等を使う方法へ変える必要も考慮しないといけないかもしれませんね。

因みにエラーは、TypeError Cannot read property 'meta' of undrfinedですが、
フリーズではなく落ちるという事ですかね。失礼しました。

セルフスイッチ>実はお金を出すイベントは出し切った所を保存する為、既にセルフスイッチを使っているのですが、
一回だけお金を出してお終いではなく、一回調べる毎に1000Gから100Gずつ差し引かれる仕組みなっているので、
途中でメニューを開くとどうしても指定数の金額よりも多くなってしまいます。

フトコロ さんが書きました:
Furosiki さんが書きました:すみません。注釈もmetaを使うのは分かりましたが、
現在、使い方が悪かったのか、上記の参照方法をマップにあるイベントに記入した所、フリーズしてしまいました。
それにプラグイン戦闘イベントでも試してみましたが、どの様になっているのか分かりませんでした。


すみません。
スクリプトが間違っていました。
$gameMap.events[n].event().meta['メタデータ']
が正しいです。


あと、注釈をmetaで参照できるのは、プラグインでそのように処理しているからで
通常では参照することはできません。

簡単にいえば、以下の処理を行っているためです。
1.イベントの実行内容を参照して
※Game_Map.prototype.readEventsCommentMetadata() の処理

2.参照した実行内容から、注釈コマンドを探して
※readPagesCommentMetadata()の処理

3.注釈コマンドが見つかったら、注釈の記載内容が<meta:data>の形式だったらメタデータに格納させる
※readMetadata()の処理


なるほど、注釈はメモと違ってプラグインの介入が無いと、読み込めないんですね。
因みにすでに記述した物を今回教えて頂いたコマンドに差し替えても
Type Error Cannot read property'event' of undefinedとエラー文章が出てしまい、
結局、プログラムはそこで落ちてしまいます。

“MV:質問” へ戻る