ページ 12

【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年1月31日(木) 21:32
by nomaly
こんにちは、いつもお世話になっております。

メニュー画面で使用し、使用(対象?)アクターの能力値を増やす消費アイテムをいくつか用意しているのですが、
アイテムを使用できず、能力値を増やせないアクターを作りたいのです。

今考えてる方法は、
能力値アップアイテムからコモンイベントを呼び出し、
スクリプト
$gameVariables.setValue([変数ID], ???);
でアイテムを使用したアクターのIDを変数に定義し、この変数による条件分岐をする方法です。

???部分の、メニュー画面でアイテムを使用したアクターのIDを取得するスクリプトが分かる方、
もしくは別の方法でやりたいことが実現できる方法が分かる方、ご教授いただければ幸いです。

Re: メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年1月31日(木) 23:08
by 飯尾隼人
nomalyさん

 こんばんは! こちらの記事が参考になると思われます。よろしければご覧ください。

 アイテムの効果量(HP回復量)をランダムで変えられるようにしたい
 https://tm.lucky-duet.com/viewtopic.php?f=23&t=7171&p=26431#p26431

Re: メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月01日(金) 00:03
by nomaly
飯尾隼人 様

確認しました!
getItemUserId.jsを使用したところ、望み通りの結果が得られました!

これでプロジェクトが大きく進みました、ありがとうございました!!

Re: 【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月02日(土) 15:24
by nomaly
飯尾隼人 様

プラグインを適用して戦闘をしたところ、target.actorIdがnot a functionとエラーが出てしまいました。
新規のプロジェクトで他のプラグインも使ってない状態だったので、競合ではないと思います。

修正できますでしょうか。お手数ですがよろしくお願いします。

Re: 【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月03日(日) 14:46
by 飯尾隼人
nomalyさん

 こんにちは!プラグイン修正してみました。こちらで確認をお願いします!

Re: 【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月04日(月) 00:41
by nomaly
飯尾隼人 様

対応ありがとうございます。
ですが、同じエラーが出てしまいました。

再修正は可能そうでしょうか……?

Re: 【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月04日(月) 01:06
by 飯尾隼人
nomalyさん

 こんばんは。大変申し訳ありませんが、現象が再現できませんでした。
 下記をご確認ください。

 プラグイン管理から当プラグインを選択し、設定されたパラメータの値(アクターのIDを格納する変数の番号)とスクリプトで使用しているアクターのIDを格納する変数の番号が一致していることを確認願います。

 また、念のため添付のプラグインを使用してみてください。

Re: 【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月04日(月) 09:40
by nomaly
飯尾隼人 様

調査したところ、原因が分かりました。

どうやら、普通に戦闘して敵ターゲットを選ぶ分には攻撃時エラーは出ません。

しかし、今作ってるゲームがオート戦闘で、ランダムターゲットになるためエラーが出るようです。
新規プロジェクトでも、ステート「激昂」状態にすると敵に攻撃する際エラーを吐きました。

Re: 【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月04日(月) 11:41
by nomaly
再度試したところ、通常に攻撃対象を選んで攻撃した際に再びエラーになるようになりました。

詳しく状況を書くと、
ダウンロードしたプラグインを新規プロジェクトのjsフォルダに入れて、オンにする。

敵グループ1と戦闘テスト

これだけでもう攻撃時にエラーになってしまいます。

アイテムの方は、使うとコモンイベントを呼び出して、
その内容はプラグインで設定したIDの変数のアクターを対象に最大HPが3~7の乱数(別の変数)アップです。

そもそも何か使い方を間違えているのでしょうか。

Re: 【解決済み】メニュー画面でアイテムを使用したアクターのIDの取得法(特定のアクターへのアイテム使用を無効にする方法)

Posted: 2019年2月11日(月) 01:44
by 飯尾隼人
遅くなってしまい申し訳ありませんがプラグイン修正しました!
おそらくコモンイベントを使用するアイテムの範囲が使用者以外だったため、
Game_Enemyが対象に含まれてしまったのだと思われます。