【解決済】変数の増減に関して

RPGツクールビギナー
記事: 5
登録日時: 2021年5月18日(火) 00:23

【解決済】変数の増減に関して

投稿記事by RPGツクールビギナー » 2021年5月18日(火) 01:53

初めまして。
以下の内容のような物を作りたいのですが、中々良い方法が見つからず。
皆様のお力を貸して頂けないかと思い・・・よろしくお願いします。

仮の形ではありますが

--------------------------
特定のアイテムや行動などで「変数①」が増加・減少する。

その「変数①」が2減る毎に「変数②」が増加する。

変数①は 最低~最大:0~10

変数②は ①が2減る毎に1増加

一度に2以上減少(4なら2・10なら5)したらそれだけ②が減少

--------------------------

最低値や最大値の設定・①の増加減少は解決しているのですが、①の減少により
②が増加する部分がどう設定すればいいか分かりません。


宜しくお願いします。
最後に編集したユーザー RPGツクールビギナー on 2021年5月23日(日) 01:23 [ 編集 1 回目 ]

sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 変数の増減に関して

投稿記事by sally » 2021年5月18日(火) 05:50

別途、計算用の変数3を用意し

1. 変数1の減少前に、変数3に変数1の値を代入
1’変数1を減少させる
2. 変数1の減少後に、変数3から変数1の値を減算
3. 変数3が2以上の場合で条件分岐
4. 変数3を「定数」2で除算
5. 変数2から変数3の値を減算

という流れで可能です。

不明点などありましたらお気軽にお問い合わせください。
RPGツクールビギナー
記事: 5
登録日時: 2021年5月18日(火) 00:23

Re: 変数の増減に関して

投稿記事by RPGツクールビギナー » 2021年5月18日(火) 16:17

Sally 様

解答ありがとうございます。
返信が遅くなり申し訳ありません。

その方法を試そうとした所、変数①の増減が一切反応しなくなってしまいました。

それ以外の方法、もしくは改善方法などありますか?
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 変数の増減に関して

投稿記事by sally » 2021年5月18日(火) 20:40

説明の仕方が悪かったかもしれません。

1’変数1を減少させる

については元々設定されている減少を指しています。
下記内容で動作することを確認しています。
2行目は元々作成されているイベントを入れてください。

変数2は変数1が減少したときのみ変動するとのことですので、
増加については無視しています。

コード: 全て選択

◆変数の操作:#0006 別途計算用 = 増減1
◆変数の操作:#0004 増減1 -= 乱数 2..4(※元々の減少イベント)
◆変数の操作:#0006 別途計算用 -= 増減1
◆条件分岐:別途計算用 ≤ 2
  ◆変数の操作:#0006 別途計算用 /= 2
  ◆変数の操作:#0005 増減2 -= 別途計算用
  ◆
:分岐終了


あと一点、疑問があるのですが
こちらの変数2の減少は1度のイベントで変数1が2以上減少した場合のみに発生する
という認識で相違ないでしょうか?

上記質問は、別々のイベントAとBでそれぞれ1ずつ減った場合、2減った時点で変数2が減るのか
という状況を想定しています。
ecf5DTTzl6h6lJj02
記事: 450
登録日時: 2018年12月23日(日) 13:55

Re: 変数の増減に関して

投稿記事by ecf5DTTzl6h6lJj02 » 2021年5月18日(火) 21:17

こんばんは。
横から失礼します。

Sally さんの記述内容とほぼ同じものに、変数①が範囲を超えた場合の処理と
1回目で、1 減少して、2回目で 1 減少した時に、合計で 2 減少しているので、変数②が 1 増加する、
というような(sally さんの質問の内容の)処理を追加したものです。
ちゃんとチェックしてないので、変な動きしてる可能性もありますが、
ご参考に。

コード: 全て選択

◆注釈:減少値の計算のために、現在の『変数①』の値を
:  :『変数① 今回の減少値』に代入しておく。
◆変数の操作:#0064 変数① 今回の減少値 = 変数①
◆注釈:『変数①』の値を変化させる部分。
:  :このサンプルでは、-10 ~ +10 の範囲で、
:  :ランダムで変化させる。
◆変数の操作:#0061 変数① -= 乱数 -10..10
◆注釈:『変数①』がマイナスになっていないかをチェックし、
:  :なっていたら0に変更する。
◆条件分岐:変数① < 0
  ◆変数の操作:#0061 変数① = 0
  ◆
:分岐終了
◆注釈:『変数①』が 10 を超えていないかチェックし、
:  :超えていたら、10 に 変更する。
◆条件分岐:変数① > 10
  ◆変数の操作:#0061 変数① = 10
  ◆
:分岐終了
◆注釈:『変数① 今回の減少値』を 『変数①』の値で減算し、
:  :変数①の減少値を算出する。
◆変数の操作:#0064 変数① 今回の減少値 -= 変数①
◆注釈:『変数① 今回の減少値』がマイナス(変数①が増加している)か
:  :そうでないかで、処理を分岐させる。
◆条件分岐:変数① 今回の減少値 ≤ 0
  ◆注釈:『変数① 今回の減少値』にマイナスが入っているので、
  :  :プラスに変換する。
  ◆変数の操作:#0064 変数① 今回の減少値 *= -1
  ◆注釈:『変数①』の変化をメッセージで表示する。
  ◆文章:なし, ウィンドウ, 下
  :  :変数①が \C[17]\V[64]\C[0] 増加し、\C[18]\V[61]\C[0] になりました。
  ◆
:それ以外のとき
  ◆注釈:『変数① 減少ストック』に
  :  :『変数① 今回の減少値』の値を加算する。
  ◆変数の操作:#0063 変数① 減少ストック += 変数① 今回の減少値
  ◆注釈:『変数②』の増加値を計算するために、
  :  :『変数① 減少ストック』の値を『変数②の増加数』に代入する。
  ◆変数の操作:#0065 変数②の増加数 = 変数① 減少ストック
  ◆注釈:『変数①』が 2 減少するごとに『変数②』が 1 増加なので、
  :  :『変数②の増加数』を 2 で 除算する。
  ◆変数の操作:#0065 変数②の増加数 /= 2
  ◆注釈:余りは次回へ持越しするので、2 で割った余りを
  :  :『変数①減少ストック』に代入しておく。
  ◆変数の操作:#0063 変数① 減少ストック %= 2
  ◆注釈:『変数②』に『変数②増加数』の値を加算する。
  ◆変数の操作:#0062 変数② += 変数②の増加数
  ◆注釈:『変数①』、『変数②』の変化をメッセージで表示する。
  ◆文章:なし, ウィンドウ, 下
  :  :変数①が \C[17]\V[64]\C[0] 減少し、\C[18]\V[61]\C[0] になりました。
  :  :変数②が \C[17]\V[65]\C[0] 増加し、\C[18]\V[62]\C[0]になりました。
  ◆
:分岐終了
RPGツクールビギナー
記事: 5
登録日時: 2021年5月18日(火) 00:23

Re: 変数の増減に関して

投稿記事by RPGツクールビギナー » 2021年5月18日(火) 22:36

Sally 様 ecf5DTTzl6h6lJj02 様

ご返信・丁寧な説明などありがとうございます。
現在お二方の記載して頂いているコードを参考に、試行錯誤中です。

Sally様の質問に関してですが、ecf5DTTzl6h6lJj02 様が記載したように、「1回目で、1 減少して、2回目で 1 減少した時に、合計で 2 減少しているので、変数②が 1 増加する」も含むものになります。

説明不足で本当に申し訳ありません。

※質問の際の最初の分に記載ミスがありました。

「一度に2以上減少(4なら2・10なら5)したらそれだけ②が減少」とありますが、②が増加になります。
今回ので変数②に関しては一切減少は必要なく、変数①の減少に伴い増加のみすれば問題はありません。

一応言わなければいけないと思い記載しました。
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 変数の増減に関して

投稿記事by sally » 2021年5月19日(水) 04:00

イベントをまたぐのですね。
それでしたら、ecf5DTTzl6h6lJj02 さんのご提示された内容が最大・最低値の判定も含めすべて可能かと思いますが、

追加で2点、質問させてください。

1.イベントでの減少で変数1が0を下回った場合、下回った分は変数2の加算に影響するのか
2. イベントABC でそれぞれ -1、+3、-3となった場合の変数2の減少は
・最後の-3のみを判定して、-1
・マイナス分合計が-4なので-2
・合計-1なので減少なし

のどれになるでしょうか。
1の場合は、ecf5DTTzl6h6lJj02 さんの最初の処理がオーバー分を想定していないため、少し変わります(例えば2の時-4されても、-2ではなく0として判定するため)。
2はマイナス分のみ合計するなら、また処理が変わります。
RPGツクールビギナー
記事: 5
登録日時: 2021年5月18日(火) 00:23

Re: 変数の増減に関して

投稿記事by RPGツクールビギナー » 2021年5月20日(木) 21:47

Sally 様

また返信が遅れて申し訳ありません。

1:下回った分は変数2の加算に影響しない
2:イベントABCに関しては、変数①が初期値0と仮定してになりますが

A:0から-1で下回っている為、変数②増加無し
B:変数①が+3
C:変数①の数値が3から-3 されているので 変数②が+1増加

となります。

宜しくお願いします。
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 変数の増減に関して

投稿記事by sally » 2021年5月21日(金) 01:23

ご回答ありがとうございます。

下限をオーバーした場合は変動無し、
イベントをまたいだ場合は変数2の加算に変数1の加算も影響を受ける(変数1の減少のみが影響するわけではない)。

とのことであれば、ecf5DTTzl6h6lJj02 さんのご提示された方法でご希望の処理が全て対応可能かと思います。

僭越ながら一つだけ追加するとしたら、
変数1の変動値以外は全てのイベントで共有ですので

1.ecf5DTTzl6h6lJj02さんのイベントをコモンイベント化
2. 別途、変数0065: 変数1の増減値 とを作成し、
◆変数の操作:#0061 変数① =♯0065変数1の増減値
とする
3.増減イベントでは、上記の変数1の増減値で変数を操作し、直後に1のコモンイベントを呼び出す

とするとイベント設定が容易になります。
既にご存知でしたら恐縮です。
RPGツクールビギナー
記事: 5
登録日時: 2021年5月18日(火) 00:23

Re: 変数の増減に関して

投稿記事by RPGツクールビギナー » 2021年5月23日(日) 01:22

Sally 様

ご返信ありがとうございます。

Sally様 ecf5DTTzl6h6lJj02 様 のお二方の適格なアドバイスなどお陰で、無事目的が達成出来ました。
長く付き合って頂き感謝の言葉しかありません。

本当にありがとうございましたm( _ _ )M

“MV:質問” へ戻る