【解決済み】スキルの使用者のMATに依存してスキルのバフ量を変更したい
Posted: 2024年8月19日(月) 11:21
ツクールMZでスキルの使用者のMATに依存してスキルの効果量を変化させるコモンイベントを作りたいです。
素人ながら流れを考えてみました。
①バフの効果量を1%もしくは0.1%に変更し、バフの上限数も大幅に増やす
②スキル使用者のMATの数値を取得する
③バフの効果量が1%であればMATの数値を1/10にする
④指定されたバフを対象に数値分付与する
といった流れです。
具体的に言うとMATが100であるならば1%のバフを10回付与する/0.1%のバフを100回付与するといった形です。
①はRYBA(熱帯魚)様の「BuffSetting.js」を利用することにしましたが、②以降の処理をどうすらばいいか困っています。
以下はchatGPTに出力してもらったものを少し書き換えたコモンイベント(変数の操作+スクリプト)です
変数の操作:#12=直前に行動したアクターのID
スクリプト:
const param = PluginManagerEx.createParameter(script);
const n=$gameVariables.value(12);
// そのアクターのMATを取得
const ActorMat = $gameActors.actor(n).param(4)
// MATの1/10の値をバフ回数として計算
const buffCount = Math.floor(ActorMat / 10);
// バフを付与するターン数を固定(例: 3ターン)
const buffTurns = 3;
// バフを複数回付与
for (let i = 0; i < buffCount; i++) {
target.addBuff(2, buffTurns);
}
このコモンイベントをスキルで実行すると「TypeError Cannot read property 'replace' of undefined」が発生してしまいます。
もしよろしければどなたかこのスクリプトの間違っている部分が分かれば教えていただけませんか?
素人ながら流れを考えてみました。
①バフの効果量を1%もしくは0.1%に変更し、バフの上限数も大幅に増やす
②スキル使用者のMATの数値を取得する
③バフの効果量が1%であればMATの数値を1/10にする
④指定されたバフを対象に数値分付与する
といった流れです。
具体的に言うとMATが100であるならば1%のバフを10回付与する/0.1%のバフを100回付与するといった形です。
①はRYBA(熱帯魚)様の「BuffSetting.js」を利用することにしましたが、②以降の処理をどうすらばいいか困っています。
以下はchatGPTに出力してもらったものを少し書き換えたコモンイベント(変数の操作+スクリプト)です
変数の操作:#12=直前に行動したアクターのID
スクリプト:
const param = PluginManagerEx.createParameter(script);
const n=$gameVariables.value(12);
// そのアクターのMATを取得
const ActorMat = $gameActors.actor(n).param(4)
// MATの1/10の値をバフ回数として計算
const buffCount = Math.floor(ActorMat / 10);
// バフを付与するターン数を固定(例: 3ターン)
const buffTurns = 3;
// バフを複数回付与
for (let i = 0; i < buffCount; i++) {
target.addBuff(2, buffTurns);
}
このコモンイベントをスキルで実行すると「TypeError Cannot read property 'replace' of undefined」が発生してしまいます。
もしよろしければどなたかこのスクリプトの間違っている部分が分かれば教えていただけませんか?