【解決】加算変数のスマートな利用法について

アバター
はせがわ
記事: 51
登録日時: 2019年9月04日(水) 14:40

【解決】加算変数のスマートな利用法について

投稿記事by はせがわ » 2021年2月18日(木) 19:26

バラバラの地点でそれぞれ変数を加算し、それが一定数となったとき発生するイベントの扱いについてです。

例:村人ABC全員と会話すると、情報が集まったことになる。順不同で、誰が最後になっても良い
 →「会話済み」変数を用意
  →ABCそれぞれに会話済み変数の加算処理をする(一回のみ)
   →村人を屋内等のルートが固定される地点に置き、出入り口に接触トリガーの変数判定イベントを置く

…かと思ったのですが、たとえばテレポートの魔法などで、会話の直後に場所移動をされると、
いつまでたっても情報収集完了にならなかったり、逆にあらためてその地点を踏んだとき、突然完了になったり
しそうです。

あるいは
   →ABCそれぞれに、会話済み変数>3をスイッチとしたイベントを併記しておく

でしょうか。

人数が多くなったりした場合などを考えると、ちょっと不安があります。
もっとスマートなやり方があれば、ご意見いただければ幸いです。
   
最後に編集したユーザー はせがわ on 2021年2月18日(木) 20:52 [ 編集 1 回目 ]

アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 加算変数のスマートな利用法について

投稿記事by ムノクラ » 2021年2月18日(木) 19:44

はせがわ さんが書きました:バラバラの地点でそれぞれ変数を加算し、それが一定数となったとき発生するイベントの扱いについてです。

例:村人ABC全員と会話すると、情報が集まったことになる。順不同で、誰が最後になっても良い
 →「会話済み」変数を用意
  →ABCそれぞれに会話済み変数の加算処理をする(一回のみ)
   →村人を屋内等のルートが固定される地点に置き、出入り口に接触トリガーの変数判定イベントを置く

…かと思ったのですが、たとえばテレポートの魔法などで、会話の直後に場所移動をされると、
いつまでたっても情報収集完了にならなかったり、逆にあらためてその地点を踏んだとき、突然完了になったり
しそうです。

あるいは
   →ABCそれぞれに、会話済み変数>3をスイッチとしたイベントを併記しておく

でしょうか。

人数が多くなったりした場合などを考えると、ちょっと不安があります。
もっとスマートなやり方があれば、ご意見いただければ幸いです。
   


ちょっと分かり難い印象がありますが、予想して返信します。
的外れだったらごめんなさい。

会話管理変数を1つ用意する。

1.村人Aと会話したら+1する。
2.村人Bと会話したら+10する。
3.村人Cと会話したら+100する。

変数の合計が111だったら、全員と話したという条件でイベントを組む。

というのはどうでしょうか?

併せて、下記を採用するか、コモンイベントの並列処理で変数を常に管理するか?という感じでしょうか。
あるいは
   →ABCそれぞれに、会話済み変数>3をスイッチとしたイベントを併記しておく

RPGツクールMZの変数の加算値の最大は99999999と8桁なので、少なくとも8人まではこの方法で管理できそうです。

※これは二進法の考え方で、複数のスイッチを桁で管理する考え方です。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
アバター
はせがわ
記事: 51
登録日時: 2019年9月04日(水) 14:40

Re: 加算変数のスマートな利用法について

投稿記事by はせがわ » 2021年2月18日(木) 20:51

ムノクラさま

返信ありがとうございます。なるほど、こういう場合にコモンイベントを利用すればいいんですね。
各村人と会話する処理の末端に、「コモンイベントの実行」をいれれば、スマートですね。

(悩みの主点は、変数判定のイベントをどこに記述すればいいのか、でした。
コモンベントを利用すれば、村人それぞれに一行のコピペで済みますね。)

まだこのあたりの基本的なテクニックが身についておらず、お恥ずかしい限りです。

桁数で管理というのも新鮮です。応用が利きそうですし、スマートに感じます。
教えてくださって、本当にありがとうございます!
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 加算変数のスマートな利用法について

投稿記事by ムノクラ » 2021年2月18日(木) 21:16

はせがわ さんが書きました:ムノクラさま

返信ありがとうございます。なるほど、こういう場合にコモンイベントを利用すればいいんですね。
各村人と会話する処理の末端に、「コモンイベントの実行」をいれれば、スマートですね。

(悩みの主点は、変数判定のイベントをどこに記述すればいいのか、でした。
コモンベントを利用すれば、村人それぞれに一行のコピペで済みますね。)

まだこのあたりの基本的なテクニックが身についておらず、お恥ずかしい限りです。

桁数で管理というのも新鮮です。応用が利きそうですし、スマートに感じます。
教えてくださって、本当にありがとうございます!


少し、説明が足りなかったようです。

コモンイベントの並列処理は、スイッチさえ入っていれば、どのマップでも常に監視するように動作します。
SS01.png


イベント終了後にスイッチを切れば、その並列処理は停止します。
このような作成方法であれば、各イベントにコモンイベントの実行を入れる必要はありません。

多くの並列処理を管理するのは、中級者くらいになってからがお勧めです。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
アバター
はせがわ
記事: 51
登録日時: 2019年9月04日(水) 14:40

Re: 【解決】加算変数のスマートな利用法について

投稿記事by はせがわ » 2021年2月19日(金) 22:15

>ムノクラさま
おかげさまで、想定通りの挙動でイベントを発生できました。
コモンイベントの並列処理はこんな風に使えるのですね。

スイッチトリガー、並列処理で条件監視は、とても応用が効きそうです。
ツクールが楽しくなってきました。本当にありがとうございます!

“MZ:質問” へ戻る