スキル発動者にステートを付与したい。

アバター
いろべシノン
記事: 12
登録日時: 2016年3月09日(水) 20:02

スキル発動者にステートを付与したい。

投稿記事by いろべシノン » 2016年6月11日(土) 11:50

 VXAceです。
 [ツール]→[データベース]→[スキル]使用効果という項目は「スキル使用対象への効果」だと思うのですが、
敵や味方が対象となるスキルを発動したときに発動者のステートを変化させることは可能ですか?
 

 以下のようなことをやりたいと思っています。

 プレイヤーAが攻撃スキルを発動する。
 ↓
 攻撃対象Xがダメージを受ける。
 ↓
 プレイヤーAの防御力が下がる。


 または、

 プレイヤーAが補助スキルを発動する。
 ↓
 プレイヤーBの防御力が上がる。
 ↓
 プレイヤーAの狙われ率が上がる(ステート付加による)。


 できれば次のようなこともしたいです。

 プレイヤーAが攻撃スキルを発動する。
 ↓
 攻撃対象Xがダメージを受ける。
 ↓
 攻撃対象Xの防御力が下がる。
 ↓
 プレイヤーAの防御力が下がる。



初歩的な質問かもしれませんが、お答えいただければ幸いです。
――――――――――――――――――――――――――――――

──────────────────────────────────────────────────────
 RPGツクールMVの発売を期にゲーム製作を始めたド素人。
 現在はRPGツクールVXAceで「できる限りデフォルトの素材でゲームを作る」をテーマに、
デフォルトストーリーというRPGみたいなものを製作中です。
 ゆくゆくはMVでちゃんとしたRPGを作りたいと思っています。
 
 普段はニコニコ動画で動画を投稿しています。

Twitter https://twitter.com/LoveSinon2525
TKS
記事: 3
登録日時: 2016年5月18日(水) 10:15

Re: スキル発動者にステートを付与したい。

投稿記事by TKS » 2016年6月12日(日) 13:12

スキルのコモンイベントと、少しだけスクリプトを使った方法をご紹介します。

デフォルトの機能では「スキルの使用者を判別する」仕組みがないので、少し工夫が必要です。
・特定のキャラ専用のスキルにする
・そのスキルを使うキャラの数だけ同名のスキル・コモンイベントを作る
・スクリプトを使う
など

ここではスクリプトを一部使いつつ、なるべくイベントコマンドを使う方針でサンプルを作ってみました。
(※これは一例です。探せば他にも良い方法はたくさんあります)
ss01_sample_skill.png
ss01_sample_skill.png (6.17 KiB) 閲覧数: 6969 回

ss02_sample_event.png
ss02_sample_event.png (10.4 KiB) 閲覧数: 6969 回

注意点として、
①この例はアクター限定(敵も使用可能だと少し複雑になるので、ここでは省略)
②攻撃スキルの場合、そのダメージで最後の一体を倒す(=戦闘終了する)と、スキルのコモンイベントが未実行のまま
 マップ画面に持ち越されて実行
されてしまうという仕様がある。
 それを防ぐため、「戦闘中のみ実行」という分岐を入れています(条件分岐:スクリプト:$game_party.in_battleという部分)。
 一見不必要な処理ですが、必要です。


何か至らない点があれば、遠慮なくご指摘下さい。
質問の意図と違っていたらすみません。
最後に編集したユーザー TKS on 2016年6月13日(月) 08:38 [ 編集 1 回目 ]
faida
記事: 272
登録日時: 2015年12月17日(木) 16:44

Re: スキル発動者にステートを付与したい。

投稿記事by faida » 2016年6月12日(日) 22:39

「RGSS3 使用者」でGoogle検索したらいっぱい出てきました。
どれがおすすめ、とかはないので、いろいろ試してみるのもいいかもしれませんね。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
アバター
いろべシノン
記事: 12
登録日時: 2016年3月09日(水) 20:02

Re: スキル発動者にステートを付与したい。

投稿記事by いろべシノン » 2016年6月15日(水) 00:29

TKS さんが書きました:スキルのコモンイベントと、少しだけスクリプトを使った方法をご紹介します。

デフォルトの機能では「スキルの使用者を判別する」仕組みがないので、少し工夫が必要です。
・特定のキャラ専用のスキルにする
・そのスキルを使うキャラの数だけ同名のスキル・コモンイベントを作る
・スクリプトを使う
など

ここではスクリプトを一部使いつつ、なるべくイベントコマンドを使う方針でサンプルを作ってみました。
(※これは一例です。探せば他にも良い方法はたくさんあります)
ss01_sample_skill.png
ss02_sample_event.png
注意点として、
①この例はアクター限定(敵も使用可能だと少し複雑になるので、ここでは省略)
②攻撃スキルの場合、そのダメージで最後の一体を倒す(=戦闘終了する)と、スキルのコモンイベントが未実行のまま
 マップ画面に持ち越されて実行
されてしまうという仕様がある。
 それを防ぐため、「戦闘中のみ実行」という分岐を入れています(条件分岐:スクリプト:$game_party.in_battleという部分)。
 一見不必要な処理ですが、必要です。


何か至らない点があれば、遠慮なくご指摘下さい。
質問の意図と違っていたらすみません。



 TKS様

 画像付きで分かりやすい説明ありがとうございます!
 仕組みは理解できました。なるほど、コモンイベントも併用していくのですか。
スクリプトは使ったことがないので、少し不安ではありますが、とりあえずやって
みようと思います。助かりました!
アバター
いろべシノン
記事: 12
登録日時: 2016年3月09日(水) 20:02

Re: スキル発動者にステートを付与したい。

投稿記事by いろべシノン » 2016年6月15日(水) 00:30

faida さんが書きました:「RGSS3 使用者」でGoogle検索したらいっぱい出てきました。
どれがおすすめ、とかはないので、いろいろ試してみるのもいいかもしれませんね。



 faida様

 情報提供ありがとうございます! 
 参考にさせていただきます!

“VX / Ace:質問” へ戻る