【解決済】ステートの合成? ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。

返信する
六花リンデル
記事: 5
登録日時: 2021年2月09日(火) 14:50

【解決済】ステートの合成? ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。

投稿記事 by 六花リンデル »

この前は解決にご助力くださりありがとうございました。
今回は、タイトルの通り『ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。』のアドバイスをいただければと思い、投稿させてもらいました。
方法や、そういうことが出来るプラグインなどについて心当たりがあれば、お教えくださると幸いです。
よろしくお願いします。
最後に編集したユーザー 六花リンデル [ 2021年2月19日(金) 13:47 ], 累計 1 回
アバター
ムノクラ
記事: 2118
登録日時: 2018年2月23日(金) 11:41
連絡する:

Re: ステートの合成? ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。

投稿記事 by ムノクラ »

六花リンデル さんが書きました:この前は解決にご助力くださりありがとうございました。
今回は、タイトルの通り『ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。』のアドバイスをいただければと思い、投稿させてもらいました。
方法や、そういうことが出来るプラグインなどについて心当たりがあれば、お教えくださると幸いです。
よろしくお願いします。
厳密に満たしてはいませんが、下記が近いと思います。

▼上位ステート(うなぎおおとろ様作) - SuperState.js
https://plugin.fungamemake.com/archives/13624
毒状態のときに毒攻撃を受けると、猛毒状態になる、というような上位のステートが作成できるようになるプラグインです。

他にも似た感じのプラグインがありますが、これが分かりやすそうだったので出しました。
なお、未実験です。

下記はβ版だそうですが、機能が多そうです。
実験してみましたが、自分には使い方が分かりませんでした…
▼ステートグループ化(りんろんた様作) - RRT_StateGroups_beta.js
https://plugin.fungamemake.com/archives/12663
各ステートを、単一のグループに属させることができます。


下記はより詳細に設定できますが、複雑です。
古いですしバグがあるかもしれません。

日本語版 VE State Replace
https://fungamemake.com/archives/9854
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
六花リンデル
記事: 5
登録日時: 2021年2月09日(火) 14:50

Re: ステートの合成? ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。

投稿記事 by 六花リンデル »

ムノクラ様、返信ありがとうございます。
ただ、試してみたところ、検証不足かもしれませんがどれも自分の求めていたことは出来そうにありませんでした。
紹介してくださり、ありがとうございました。
アバター
TEN
記事: 197
登録日時: 2018年9月04日(火) 14:48
お住まい: TEN_GAME
連絡する:

Re: ステートの合成? ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。

投稿記事 by TEN »

六花リンデル 様

下記のプラグインを導入前提ですが可能だと思います。
■戦闘中でも並列処理のコモンイベント実行可能
viewtopic.php?t=1495
※動作するのは並列処理のイベントのみなので注意。

上記のプラグインをプラグイン管理にてONにします。
そしてコモンイベントで下記のように組みます。

コード: 全て選択

トリガー:並列処理 スイッチ:0001ゲーム開始
◆条件分岐:ハロルドが毒になっている
 ◆条件分岐:ハロルドが暗闇になっている
  ◆ステートの変更:ハロルド, -毒
  ◆ステートの変更:ハロルド, -暗闇
  ◆ステートの変更:ハロルド, +沈黙
  ◆
 :分岐終了
 ◆
:分岐終了
◆
※スイッチ0001はゲーム開始直後にONにするのを忘れないで下さい。
※アクター人数分、条件分岐を組んで下さい。

次に敵グループのイベントで

コード: 全て選択

条件:実行しない スパン:モーメント
◆コモンイベント:(先程用意したコモンイベント)
◆
※条件を『実行しない』にするのを忘れないで下さい(しないとフリーズします)。

これで戦闘中に、状態異常『毒』の時に『暗闇』にかかると『沈黙』が付与され、先にかかっていた『毒』と『暗闇』が解除される、が再現できます。

戦闘中に並列処理のコモンイベントを起動させると、普通はきちんと動作しないため、上記で紹介した――戦闘中でも並列処理のイベントを実行可能――プラグインをONにして下さい。
これはパラメータ設定などはないため、プラグイン管理でONにするだけで動作いたします。

やりたいことと違っていたら申し訳ございません。
===============================
公開ゲーム/小説ブログ
『 TEN_GAME / https://ten-game.hatenablog.com/
制作初心者が作ったゲームですので暖かい目で見てください( ̄▽ ̄;)
                        ◇◆――――
                          TEN
―――――――――――――――――――――――――――――――――――――――◆◇
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: ステートの合成? ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。

投稿記事 by sally »

ステート3について、
かかっているときに1か2は後づけでかかるのか?
1→2で3と同様に2→1で3になるのか?
が不明なため、取り急ぎステート3はステート1と2の合成ステートであり、
1や2とは共存しない、2の時に1にかかっても3になる
との理解で書きます。

デフォルト機能でやるとして考えてみました。
可能なはずですが、ステート無効化による解除処理等がうろ覚えのため間違ってたらすみません。

ステート1はステート2にかかっていると無効化される
ステート2はステート1にかかっていると無効化される
ステート3はステート1か2にかかっている時だけかかる
ステート3はステート1と2を解除(無効化)する

としてください。
そのうえで、ステート2を付与するスキルに
ステート3付与
ステート2付与
の順番で一緒にいれれば、

ステート1のとき→ステート2はかからず3になる
何もかかってないとき→ステート2になる

とできるはずです。

ステート1も同様で、
ステート3付与
ステート1付与
の順番で一緒にします。

この方法ですとステート1+2=3 という形ではないですが
ステート1(2) にかかっているときステート2(1) にするスキルを受けると、ステート2(1)になる処理をとばして、3を付与する処理になります。
メッセージの処理などを調整すればプレーヤーの違和感はないかと思います
六花リンデル
記事: 5
登録日時: 2021年2月09日(火) 14:50

Re: ステートの合成? ステート1の時にステート2にかかると、自動的にステート3になり、1、2を解除するような構築について。

投稿記事 by 六花リンデル »

TEN様、sally様、返信ありがとうございます。遅くなって申し訳ございません。
TEN様の方法で試したところ、私の考えていたことに最も近いことが出来ました。
まだ、sally様の方法は試していませんが、試してみて、どちらがより私のやりたいことに近いかを判断したいと思います。
お二方とも、ご協力ありがとうございました。
ps.
ムノクラ様の紹介してくださったプラグインも、合成されたステートとその前のステートを共存させたくないという要望を満たす為に活用出来ました。再度、御礼申し上げます。ありがとうございました。
返信する

“MV:質問”に戻る