ページ 13

【解決済み】一定時間経過でアイテム入手回復させたい

Posted: 2023年5月29日(月) 18:39
by riona_cat
まずは、ご覧いただき、ありがとうございます。

フィールド上で入手したアイテムを、一定時間経過したら、また入手できるようにしたいです。
タイマーなども組み込んでみましたが、扱い方が間違っているのか、思うような動作にならず…。

わかりやすくいいますと、フィールド上で摘んだ花を、リアル一時間経過したら、また摘める。
というようなイベント動作をループで組み込みたいのです。

ご助力のほど、どうかよろしくお願いいたします_(._.)_

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月30日(火) 13:10
by はせがわ
こんにちは。
復活するアイテムポイントということであれば、よくある
採取イベ(ID1と仮定)採取→在庫切れスイッチがオンになって「もう取れない」→マップ移動で在庫切れスイッチをオフ
…というイベントでいいはずですね。
その在庫切れスイッチがオフになるイベ(ID2と仮定)を、並列処理で、
条件分岐(時間経過変数)→在庫切れスイッチをオフ&セルフスイッチAオン→セルフスイッチAが出現条件の
イベントトリガーが決定ボタン
…とすれば良いのでは無いでしょうか。

時間経過に関してはうなぎおおとろさんの
https://plugin-mz.fungamemake.com/archives/892
などがありますね

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月31日(水) 11:10
by riona_cat
はせがわさん、助言に感謝致します。
試してみましたが…組み方が悪いようで、無限採取できています…。

画像
画像
画像

このように組み込んでみましたが、どうでしょうかー

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月31日(水) 13:17
by はせがわ
お疲れ様です

拝見しましたが、採取切れスイッチの切り替わるタイミングが適切でないようです。

1p目(条件無し、接触)
採取済みスイッチ「ON」、ただし、復活直後であれば、セルフBのページに跳び、
スイッチは動かさないようにする

2p目(採取済みスイッチ、決定ボタン)
「もう取れない」メッセージのみ表示

3p目(採取済みスイッチ&時間帯変数(←時間経過プラグインで定義)自動実行)
時間帯(たとえば夜)によって、採取済みスイッチを「OFF」
(OFFにした時点で、このページは呼ばれなくなる)
さらに、「一度取った直後であるスイッチ」をON
セルフBをリセット(OFF)

4p目(セルフスイッチB&時間帯変数)
3p目の時間帯と同じ値を入れ、取った直後の時間帯での連続採取を起こさない

という感じでどうでしょうか。
自分でもテストしてみましたので、よろしければ参考にしてみてください。

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月31日(水) 16:47
by riona_cat
はさがわさん、細かなアドバイスありがとうございます_(._.)_

参考(というより、丸写しですみません!)通りイベント組んでみて、
採取と今は採取できない旨までは正常に動いたのですが、
時間経過の変数がいまいち実装できてないようで、悩んでます。

おすすめいただいた、うなぎおおとろさんの時間経過プラグインを組み込んだ
つもりですが、スクリプトを入れる場所が悪いのでしょうか…。

画像
画像
画像
画像

お手数おかけしますが、なにかしらのご教授賜れば幸いです_('-';_)

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月31日(水) 17:20
by はせがわ
riona_catさま

時間経過プラグインは、マップのメモ欄に
<AdvanceTimeMap>
と記載することで、自動で歩数を計測し、時間経過変数に値を代入してくれるはずです。
ですので、3p目のプラグインコマンドは不要となります。

…なのですが、自分でその手順でやってみたところ、歩数計測ができませんでした。
申し訳ありません。

https://plugin-mz.fungamemake.com/archives/892
うなぎおおとろさま作 時間経過システム ver1.1.2

他プラグインの競合や導入前のセーブデータの影響も考えてみましたがやはりうまくいきません。
マップの開始時に、時間経過変数を一度だけ0に定義してみることもしてみましたが影響がありません。

時間経過プラグインの利用法について、ご存じの方に自分からもおうかがいしたいです。
宜しくお願いします。

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月31日(水) 17:47
by 剣崎 宗二
はせがわ さんが書きました: …なのですが、自分でその手順でやってみたところ、歩数計測ができませんでした。
申し訳ありません。
コードを読みました。
「何を期待していて何が間違っていた」が書かれていないので推測的な回答とはなりますが…

変数に入るのは歩数ではなく「現在の時間帯(を表す数字)」のようです。
なので0-5の数しか出ないはずです。

若しも「いくら歩いても時間帯変数が変わらない」と言う事なのであれば、質問は「そもそも現在時刻を示す画面の色調は変わりましたか?」に変化します。

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月31日(水) 19:15
by riona_cat
>はせがわさま
色々試してくださって、ありがとうございます。
うぅん…なんだか難解な問題になってしまって、時間取ってくださってすみません。
時間経過システム側のバグなんでしょうか…一応、バージョンは1.3.3で最新のようですが…。
あと、前回のレス、はさがわさんになってましたね、恥ずかしいミス…すみません><

>剣崎さま
まちがった変数指定ではありますが…
プラグインコマンドで
AdvanceTimeSystem,ChangeTimezone
Timezone3
でイベ作って踏ませると、画面の色が暗くなり、夜になりました。
これはなにか関係がありますか?

Re: 一定時間経過でアイテム入手回復させたい

Posted: 2023年5月31日(水) 20:29
by 剣崎 宗二
>riona_catさん
そもそもはせがわさんも書いてくれてますが、このプラグインは「歩数によって」時間経過を算定する物です。
まず確認したいのは、これで大丈夫かと言う事です。
極論を言えばこのプラグインを使い、そのままその場で放置した場合、リアル時間丸一日経ってもゲーム内時間は経過していない扱いになります。

上記で問題ないのであれば、確認すべきは、一定歩数(パラメーターのMorningSteps等で設定)が経過すると色調が変わるかどうかですね。
また、③のイベントにメッセージの表示を入れ、ちゃんとそのイベント自体が起動しているかも確認すべきかと。
プラグインコマンドで
AdvanceTimeSystem,ChangeTimezone
Timezone3
でイベ作って踏ませると、画面の色が暗くなり、夜になりました。
こちらは強制的に時間経過をさせるプラグインコマンドです。

Re: 歩数による時間経過、無事動作確認しました

Posted: 2023年5月31日(水) 21:49
by はせがわ
お騒がせしました。
原因はプラグインパラメータの時間経過許可スイッチを不用意に変えてしまったことでした。
デフォルトの0に戻したところ、無事時間経過(画面色調)の変化を、歩数によって呼び出す
ことができました。

もしスイッチのIDを変更した場合は、時間経過をさせたいマップで、許可スイッチをONにする
処理が必要になります。

riona_catさま
上記を踏まえて、クシャ草を時間経過で回復させたいマップに、
(プラグインパラメータの二番目のスイッチをそのまま0にした場合は)
<AdvanceTimeMap>
とのみメモに記載すれば「歩数で時間が経過」します(=経過変数に自動で値が代入されます)

スイッチのIDを変えたい場合は、<AdvanceTimeMap>とマップのメモに記載した上で、さらに
許可スイッチをONにする自動実行イベントを仕込む必要があります。
これだけでOKだと思うのですが、もしセルフスイッチが悪さをして、出入りし直したときに
時間経過が発生しなくなった時は、panda様の特定のセルフスイッチリセットプラグイン
https://plugin-mz.fungamemake.com/archives/2019
が活用できると思います。イベントの名前の頭に@をつけたとき、そのセルフスイッチが自動で
オフになります。
(参考に添付した画像では、変数を10にしたり、歩数を減らしたりしています。そこは
ご自由になさってください)

>剣崎様
質問のフォローをいただき、ありがとうございました。