RPGツクールのブログです。イベント講座とRGSS3スクリプト配布をやってます♪
こちらのスクリプトの方をDLさせていただきました。
これからも頑張ってください。
一つ質問があるのですが、可能であればこのゲージによる能力変動の効果を味方側のみに適用するといった設定はできないでしょうか?
正確には、味方パーティーメンバーは設定通りゲージによる能力上昇効果を受け、敵側はゲージ効果を一切受けないといったかたちにしたいのですが・・・。
不躾なお願いをして申し訳ございませんが、もしよろしければご検討お願い致します。
>レンさん
DL報告ありがとうございます。
要望に関しては簡単にできますよ~!
スクリプト内の
class Game_Battler < Game_BattlerBase
を
class Game_Actor < Game_Battler
に変えてください。
これでバトラー(つまりアクターとエネミーの両方)に対して行っていた改変が
アクターのみの改変となるため、エネミーは従来通りのゲージに関係ない能力値になります。
もし何か問題が出たら言って下さい。ではでは。
お早い御返事ありがとうございます。
仰られる通りに改変したら私の思い描いていたようになってくれました。
個人的な我侭に対応していただき本当にありがとうございました。
これからも応援していますので頑張ってください。
何度もコメントして申し訳ございません。
今気が付いたのですが、このスクリプトを導入するとステータス画面や装備画面での能力数値が
スクリプト内で設定した上昇値分、常にあがっているのは仕様なのでしょうか?
例)TPゲージMAX状態で攻撃力+25%に設定していると、装備画面で攻撃力100の武器を装備すると数値上で125上昇してしまいます。
レンさん、こんばんわ。
結論から言うと仕様です。
試しに特徴の「攻撃力*150%」とかを付けてみると分かりますが
ステータス画面や装備画面で出てくる能力値は
全ての影響を受けた「最終的な数値」で表示されるようになっているからです。
(この例の場合、武器攻撃力も1.5倍になります)
先程調べたところシーンクラスの判別ができるみたいなので
スクリプトの「通常能力値の取得(再定義)」の部分で
def~の上の行に
unless SceneManager.scene_is?(Scene_Equip) or SceneManager.scene_is?(Scene_Status)
endの下の行にもう1つend
を加えれば装備画面とステータス画面ではゲージによる変動を無効にできると思います。
(前回のと同じ仕組みで、特定画面でスクリプトを無効にすることでデフォルトの仕様が適用されます)
もしショップでも変動なしのステータスを表示したい場合は、更に
or SceneManager.scene_is?(Scene_Shop)を追加するといった按配です。
御返信りがとうございます。
試してみたのですが
unless SceneManager.scene_is?(Scene_Equip) or SceneManager.scene_is?(Scene_Status)
def param(param_id)
value = param_base(param_id) + param_plus(param_id)
value *= param_rate(param_id) * param_buff_rate(param_id) * param_by_nana(param_id)
[[value, param_max(param_id)].min, param_min(param_id)].max.to_i
end
end
この導入の仕方はどこかミスしているのでしょうか?
これだと装備画面やステータス画面でゲージ補正が入った数値が表示されてしまうのですが・・・。
調べてみますのでしばらくお待ちください。
調べ終わりました。私の間違いで、追加する場所が悪かったです。
複雑な記述になりそうだったのと、需要もあると思ったので新しくスクリプトにしておきました。
Ver.2bをダウンロードしてお使いください。
(その上で、前々回のclassの書き換えが必要です)
ステータス画面で変動がないため、確認する場合には
イベントで変数にパーティメンバーのステータスを代入してF9で確認し
ステータス画面や装備画面の表示と見比べるなどしてください。
何度も要望を出してしまい申し訳ございません。
おかげさまで理想のかたちにすることが出来ました。
いえいえ、無事解決して良かったです。
また何かありましたらいつでもどうぞ。
こちらのスクリプトありがたく使わせていただいてます!
HPが多い程ダメージが上がる設定にしたいんですが
増加量設定がいまいちわかりません
勉強不足ですみませんが教えてください><
「自分のHPが多いほど、相手に与えるダメージが上がる」
ということで合っていますか?
それは、HPが少ないほどダメージが下がると同じですよね。
増加量の設定はマイナスの数を入れられます。
仮に-100とした場合
HPが100%ならステータスも100%、2%ならステータスも2%と
HPとステータスの%が同じになるように出来ます。
-50とした場合だと
HPが100%ならステータスは100%、2%ならステータスは51%と
HPが2%下がるごとに、ステータスが1%下がるように出来ます。
こちらのスクリプトをダウンロードさせていただきました!
質問があるのですが、初期TPの値を50として、そこからゲーシが上がるほど攻撃力が上がり、逆に下がるほど防御力が下がるといったような設定にすることは可能でしょうか?
自分の頭ではいまいち理解できなくて・・・
基本的に、ゲージは0%から100%まで変動を参照するため
「TP50とTP0では攻撃力が同じ」
「TP50とTP100では防御力が同じ」
こういう設定ができません。
そのため、スクリプトを改変する必要があります。
75行目の
val = NanaSeven::ATK_UP_RATE * (1 - self.tp_rate) * 0.01 + 1
を
val = NanaSeven::ATK_UP_RATE * (1 - [self.tp_rate,50].max) * 0.01 + 1
87行目の
val = NanaSeven::DEF_UP_RATE * (1 - self.tp_rate) * 0.01 + 1
を
val = NanaSeven::DEF_UP_RATE * (1 - [self.tp_rate,50].min) * 0.01 + 1
にそれぞれ書き換えて下さい。
その上で
ATK_UP_STATE = 0
ATK_UP_RATE = -100
ATK_HP_MP_TP = 3
DEF_UP_STATE = 0
DEF_UP_RATE = -100
DEF_HP_MP_TP = 3
という感じに設定すればお望みの動作になります。
この場合、データベースの攻撃力と防御力の数値は倍にして下さい。
なぜなら、基準となるTP50の状態で、半減された数値になるからです。
(今のところ設定方法が難解なのはご容赦下さい……)
なるほど、データベース上の数値も弄る必要があるわけですね・・・
お返事ありがとうございます!
わざわざ改変方法まで書いていただいて、助かりました!
ああ、大事なことを忘れてました!
ver.2bの方は要望で、ステータス画面などで変動がオフになってます。
なので古いバージョンを使って頂いた方が良いでしょう。
改変箇所も66行目と78行目になります。内容は同一です。
うーん、こうして見ると応用性が低いので
素材自体をリメイクしてみようかと思います。
公開するまでは確約できませんが……。
ともあれ、こちらも参考になりました。ご質問ありがとうございました。
ブログ内検索
最新記事
アーカイブ
プロフィール