マップ上で一時的にバフ・デバフをかける仕掛けを作りたいです

たまごやき
記事: 5
登録日時: 2024年12月05日(木) 22:13

マップ上で一時的にバフ・デバフをかける仕掛けを作りたいです

投稿記事by たまごやき » 2024年12月05日(木) 22:28

はじめまして! 初めて書き込みをします たまごやきといいます。

1:マップ上でプレイヤーがイベントに接触すると発生する
2:「一度だけ攻撃力+10」のメッセージがポップアップで表示される
3:任意のシンボルエンカウントで、プレイヤーの最初の攻撃だけ攻撃力が加算されるバフが付与される
4:戦闘終了(逃げる、負ける)またはマップ切り替えでバフが消滅する

といったイベントを作りたいのですが……既存のMZの指示ではどう組み立ててよいのか
考えをまとめられずにいます……。

MZではマップ上でバフをつけることができないので「最初の攻撃だけ攻撃力アップのバフがかかる」をどのように表現すればよいかがわかりませんでした……。

素人ですごく簡単な質問かもしれずお恥ずかしいのですが、もし、既存の方法で該当するものがあればご指導頂きたいです……。よろしくおねがいします……!

アバター
DoujinRuis
記事: 152
登録日時: 2022年10月25日(火) 10:59

Re: マップ上で一時的にバフ・デバフをかける仕掛けを作りたいです

投稿記事by DoujinRuis » 2024年12月06日(金) 11:32

こんにちは!DoujinRuisと言います!
今回の質問の件について説明用の動画を用意いたしましたので、
よろしければご覧ください!
リンク
https://youtu.be/5580y9qVgys

ツクール初心者の方質問し放題のディスコードです↓
https://discord.com/invite/dzUAC3CSMH

参考コード
$gameParty.members() ←パーティ全員
$gameParty.members()[0].addParam(2, 10); 先頭キャラに10加算
$gameActors.actor(1).addBuff(2, 5); バフ
$gameActors.actor(1).addDebuff(2, 5); デバフ

行動終了後、細かい条件指定は必要かもしれません
Game_Battler.prototype.performActionEnd = function() {
console.log( `performActionEnd` , );
const action = this.currentAction(); // 現在の行動を取得

console.log( `action && action.isAttack()` , );
this.clearBuffs(); // 自分のバフを解除
};
ゲーム制作情報共有ディスコード
discord.com/invite/dzUAC3CSMH

普段Youtubeで同人ゲームの情報を発信しています
https://www.youtube.com/@DoujinRuis/videos
たまごやき
記事: 5
登録日時: 2024年12月05日(木) 22:13

Re: マップ上で一時的にバフ・デバフをかける仕掛けを作りたいです

投稿記事by たまごやき » 2024年12月06日(金) 22:44

DoujinRuis様 はじめまして!
ものすごく早くに御返事をいただきありがとうございます!

それに動画まで用意していただけるとは思っておりませんでした……!

もちろん拝見しました! 内容も、自分が作りたいものそのものでしたので
解説としてものすっごくありがたかったです! すごく丁寧に解説もいただき恐縮です!
重ねてありがとうございます!

ディスコードにも参加をさせていただきますね!
つくーるを始めたばかりで、他にご意見をうかがえる方がいなくてものすごく心細かったのですごく渡りに船でありがたいお誘いをいただき恐縮です……!

教えていただいたコードについても、早速.jsで導入して、自分で触って挙動を確認してみます!
親切にしていただいてありがとうございます!!

“MZ:質問” へ戻る