解決済み 装備制限プラグイン及びプレイヤーのキー入力に関する質問

Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

解決済み 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by Iron » 2021年5月11日(火) 19:47

1.現在やな様制作の装備制限プラグイン(EquippedLimit.js)を使用しているのですが複数条件のうちどれかひとつを満たした場合に装備可能になるような仕様にしたいもののやり方がわかりません。
具体的には装備Aに対して「条件1を満たしている、または条件2を満たしている場合に装備可能」といった状況を作成したいです。
しかしながらプラグインヘルプには条件1かつ条件2を満たしている場合に装備可能となる場合の説明しかなく、やれるのかどうかも分かっておりません。
実現可能な場合はその方法を、実現不可の場合は(可能ならば)当該条件を満たすプラグインをお教えいただければ幸いです。

2.プレイヤーのキーボード入力に応じて変数を変化させることの出来るプラグインを探しています。
以前キーボード入力で立ち絵が変わるゲームをプレイしたことがあるためそのようなプラグイン、又はそれを実現可能とする手段がある事は分かっているのですが自分の力ではいまひとつ見つけられなかった為質問させて頂きました。
想定する挙動としてはキーボードの何かしらのキーを押すことで立ち絵を変化させたいと考えています。
現在他の部分の立ち絵の管理を変数で行っているために上記のような説明となっていますが、同様のことができるのであればそれ以外でも構いません。

どちらか片方のみの解答でも構いませんのでどなたかよろしくお願い致します。

追記:2に関してMano_InputConfigでキーにアクションを追加することでできそうな気がしていますが今一つ使い方がわかりません。
もしよろしければMano_InputConfigにおけるアクションの追加の詳細な説明をお願いしたいです。
最後に編集したユーザー Iron on 2021年5月25日(火) 11:30 [ 編集 2 回目 ]

chro
記事: 86
登録日時: 2021年2月14日(日) 11:26

Re: 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by chro » 2021年5月11日(火) 20:32

1.JavaScriptには論理演算子というものがあります。
||で区切るとorを意味し、いずれかがtrueか判定出来ます。

アクターの素の攻撃力が30以上、もしくは素の防御力が30以上

コード: 全て選択

<装備制限:a.paramBase(2) >= 30 || a.paramBase(3) >= 30>


2.キーボード入力とはツクール標準のキーでしょうか。
イベントコマンドの条件分岐で、ボタンが押されているか判定出来るものです。
Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

Re: 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by Iron » 2021年5月11日(火) 20:43

お返事ありがとうございます。
1.ありがとうございます、お書きくださったコードのようにメモ欄に記入することで目的の挙動が得られるという理解でよろしいでしょうか?試させていただきます。
JavaScriptに疎く、初歩的なこともわからなかったため勉強になりました。

2.なんのキーに設定するかは未定ではありますが、キャラクターの移動、決定やキャンセルなどとは完全に別でマップ上でのキー操作に対応させたいと考えているためおそらく条件分岐にあるボタン以外になるかと思います。
Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

Re: 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by Iron » 2021年5月11日(火) 21:22

1に関してもう一つ質問よろしいでしょうか?
本当に素人でばかばかしい質問だとは思うのですが、装備制限プラグインにおいて変数を指定したい場合なんと打ち込めばよいのでしょうか?
<装備制限:v.value(1) = 0>では動作せず詰まっております。
chro
記事: 86
登録日時: 2021年2月14日(日) 11:26

Re: 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by chro » 2021年5月11日(火) 21:47

Stia さんが書きました:1に関してもう一つ質問よろしいでしょうか?
本当に素人でばかばかしい質問だとは思うのですが、装備制限プラグインにおいて変数を指定したい場合なんと打ち込めばよいのでしょうか?
<装備制限:v.value(1) = 0>では動作せず詰まっております。


普通はJavaScriptに関して知っている必要はないので問題ないです。
データベースにある、スキルやアイテムの計算式と同じものが使えます。

ただ、0だとちょっと特殊な動作になってしまうので、下記のようにしてください。

コード: 全て選択

<装備制限:$gameVariables.value(1) === 0>


比較は===です。(=3つ)
=が1つだと代入という意味になり動作しません。
Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

Re: 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by Iron » 2021年5月11日(火) 23:58

ありがとうございます。
試させていただきます。
ちなみになのですが、なぜ特殊な動作になってしまうのでしょうか?
また、他の数字の場合とはどこが違うのでしょうか?
何度も質問ばかりすみません。
chro
記事: 86
登録日時: 2021年2月14日(日) 11:26

Re: 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by chro » 2021年5月12日(水) 00:24

Stia さんが書きました:ちなみになのですが、なぜ特殊な動作になってしまうのでしょうか?
また、他の数字の場合とはどこが違うのでしょうか?

完全にJavaScriptの話になってしまいます。

初心者講座 - 計算式を設定する - 計算式設定の基本
https://tkool.jp/mv/guide/004_006d.html#03
また、「v[n]」の形式で、変数を指定することも可能です。


v.value(1)では動かず、v[1]が今回使用できる正しい形式です。
ツクール上では変数は通常、初期値などは0となりますが、JavaScriptではFalsyな値は全て別物です。
Falsy (偽値)
https://developer.mozilla.org/ja/docs/Glossary/Falsy

その為、通常ツクール上では数字の0扱いされているものが、0ではないものとして比較されてしまうためです。
一度も変数の操作で0を代入していないと、下のパターンだと0ではないと判定されます。

コード: 全て選択

<装備制限:$gameVariables.value(1) === 0>
<装備制限:v[1] === 0>

(v[1] || 0) という形式にすれば$gameVariables.value(1)の代替にはなりますが、わかりにくいと思うので。
Iron
記事: 15
登録日時: 2021年5月11日(火) 19:36

Re: 装備制限プラグイン及びプレイヤーのキー入力に関する質問

投稿記事by Iron » 2021年5月12日(水) 06:30

なるほど、なんとなくではありますが分かりました。
丁寧な解説、ありがとうございました。
頑張ってみます。

“MV:質問” へ戻る