【解決済】スクリプトでパーティ交代イベントを作りたい
Posted: 2024年2月03日(土) 03:21
RPGツクールMVでスクリプトを作成して以下の使用のようなプラグインを作成したいです。
仕様:
・プラグインコマンドで「MemberChange」を実行することで処理が実行される
処理は以下に示す通り
・「交代する人物を選択してください」とメッセージで表示する
・現在のアクターを選択肢で表示する
・「誰と交代しますか?」とメッセージを表示する
・対象アクターを選択肢で表示する
・アクターを入れ替える。
対象アクターとは以下のアクターを指す
・データベースのアクターメモ欄に「<MemberChange>」と記載のある人物
質問
現在以下の部分まで、実装できています。
①プラグインコマンドを実行すると処理が実行される
②現在のアクターを選択肢で表示する
質問は以下の通りです。
・メッセージを表示するにはどうすればいいですか?
・アクターのメモ欄を参照するにはどうすればいいですか?
・ソースコードで修正すべき点があれば教えてください。
仕様:
・プラグインコマンドで「MemberChange」を実行することで処理が実行される
処理は以下に示す通り
・「交代する人物を選択してください」とメッセージで表示する
・現在のアクターを選択肢で表示する
・「誰と交代しますか?」とメッセージを表示する
・対象アクターを選択肢で表示する
・アクターを入れ替える。
対象アクターとは以下のアクターを指す
・データベースのアクターメモ欄に「<MemberChange>」と記載のある人物
質問
現在以下の部分まで、実装できています。
①プラグインコマンドを実行すると処理が実行される
②現在のアクターを選択肢で表示する
質問は以下の通りです。
・メッセージを表示するにはどうすればいいですか?
・アクターのメモ欄を参照するにはどうすればいいですか?
・ソースコードで修正すべき点があれば教えてください。
コード: 全て選択
(function () {
var isMemberChange = false
var nowMembers = [];
var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function (command, args) {
_Game_Interpreter_pluginCommand.call(this, command, args);
if (command === "MemberChange") {
//「誰を交代しますか?」を表示する
nowMembers = $gameParty.members();
const names = [];
nowMembers.forEach(member => {
names.push(member._name)
});
this.setupChoices([names, 100, 0, 2, 0]);
isMemberChange = true;
}
};
var _Game_Message_On_Choice = Game_Message.prototype.onChoice;
Game_Message.prototype.onChoice = function (n) {
if (isMemberChange) {
//「誰と交代しますか?」を表示する
}
else {
_Game_Message_On_Choice.call(this, n);
}
};
})();