【解決済み】$gameParty.lastItem().idに任意の値を代入できますか?

返信する
アバター
MEIKOI
記事: 168
登録日時: 2018年9月22日(土) 20:13
連絡する:

【解決済み】$gameParty.lastItem().idに任意の値を代入できますか?

投稿記事 by MEIKOI »

こんにちは、いつも色々と教えて頂きありがとうございます。

イベントコマンドのスクリプトを使用して
以下の2つの事は、できますか? できる場合は、その書き方について教えてください。

1、指定したidのアイテムを使用する。
2、$gameParty.lastItem().idに任意の値を代入する。

念のためトピックの検索はしてみました。

1のほうは、
viewtopic.php?t=2108
で近い回答があり、これはできないのかなと思いましたが

2のほうは、
該当する記載が見当たりませんでしたので。

もしお分かりになる方がいらっしゃれば、教えて頂けると助かります。
よろしくお願いします。
最後に編集したユーザー MEIKOI [ 2021年5月12日(水) 13:40 ], 累計 1 回
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: $gameParty.lastItem().idに任意の値を代入できますか?

投稿記事 by Plasma Dark »

1、指定したidのアイテムを使用する。
可能ではありますが、アイテム使用の処理の流れを理解した上で書く必要があり、理解しないまま書いても何かあったときに対処できないため推奨しません。

メニュー画面におけるアイテム使用の流れは Scene_ItemBase.prototype.useItem 辺りからコードを読むことで理解できるかと思います。
2、$gameParty.lastItem().idに任意の値を代入する。
これをすべきではありません。
$gameParty.lastItem() が返すオブジェクトの意味は、アイテムメニューまたは戦闘において、プレイヤーが最後に選択したアイテムのデータベースの情報です。
データベースの情報を直接書き換えると何が起こるか、採用しているプラグインも含めてコードを精査しないとわかりませんし、データベースの情報をゲーム中に書き換えることは通常、想定されません。(動的データベースプラグインは直接書き換えずに実現されていますし、idまでは流石にノータッチのはず)

1, 2ともに、どうしてこれをしたいのかを詳しく書かれるほうが解決には近いと思います。
イベントコマンドのアイテム選択で最後に選択したアイテムを、次に開いたときにも選択しておきたい、でしょうか。
アバター
MEIKOI
記事: 168
登録日時: 2018年9月22日(土) 20:13
連絡する:

Re: $gameParty.lastItem().idに任意の値を代入できますか?

投稿記事 by MEIKOI »

Plasma Dark様

こんにちは!いつも解説していただきありがとうございます。
触ったら痛い目に合うんじゃないかと、薄々そんな気がして質問していました^^;
理解の深くない自分が、安易に手を出すべき部分じゃないですね。
別のアプローチもできると思うので、イベントエディタの組み方をやり直してみます。
(楽しようとしてたんです・・・)

ちなみに、やりたい事は、結構説明するのが難しいんですが
すでに出来上がってるイベントの動作に割り込みさせたい動作があり
いつものようにマップアクション系のものをイベントエディタで作っているので
出来上がってるものを修正するのは、結構大変なので、楽しようと・・・ハハ。
$gameParty.lastItem().idを書き換えると他を直さなくても簡単にできるので
やった事のない事でわからないので質問してみました。
でも1日あれば、修正できると思うのでちゃんと正攻法で修正します。

わかりやすくご回答いただきまして感謝いたします^^)/
返信する

“MV:質問”に戻る