忍者ブログ

しいたけサイクロン

主にRPGツクールVXAceを扱うブログです。 ここに公開してあるスクリプトは全部自由に使用してもらってかまいません。 改造なり何なりして好きに使ってください。

敏捷に依存するターンスクリプト2

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

1. 無題

FF10チックでいいですね!
ただ敵との敏捷性の差が大きくなると攻撃などの選択が
かなり重くなる気がします。

2. 返信

こんばんは。
重くなるケースがどういった状況なのか細かく知りたいです。
もしかしたらこちらが見逃している欠陥があるかもしれないですので…。

いくつか試してみて敏捷値とDataManagerの$turn_value_maxの値の差が極端に大きいと重くなるのは確認しました。
これはbattlerが持っているturn_valueの値を$turn_value_maxまでループするので当然なのですが
$turn_value_maxの値を小さくすると軽くなります。
ですので重い場合はDataManagerの$turn_value_maxをたとえば1000くらいに設定すると軽くなる場合があります。

3. 無題

こんばんわ

$turn_value_max を1000にしてみたら
かなりサクサク動くようになったので問題解決です!

思った以上に応用できそうなスクリプトなので
これからも使わせてもらいます!

ありがとうございました。

4. 無題

ちなみになんですが
左上の行動順番枠を右側にしたり移動させる事ってできますか?

5. 無題

すみません、解決しました!

6. 返信

返信が遅れましたが少し返信します。
Scene_Battleのturn_table_windowにおける
Window_Turn_Table.newの引数をいじれば動かせます。
または@turn_table_windowのviewportを設定しても動かすことができます。
それからWindow_Turn_Tableをいじれば縦枠などもできると思います。

とりあえず(0,0)の座標に設置してしまいましたが文字と重なったりして見辛い面もあるでしょうし
このあたりも今度updateする際に色々なwindowのタイプを付け加えたいと思います。

7. 無題

お久しぶりです。
久々にVXACEを起動させました。

少しお伺いいたい事が
$change_turn_count_list の部分ですが
これって指定した番号のスキルを発動して
敵などに攻撃すると敵の行動順番が遅くなる
仕組みなんでしょうか?

8. 返信

こんにちは。
$change_turn_count_listの件ですがその通りです。
各キャラクターがturn_valueとturn_magic_valueという値を持っていて
通常はturn_value、魔法待機時はturn_magic_valueの値が増えていって
$turn_value_maxの値を超えるとターンが回ってくるという仕組みなのですが
$change_turn_count_listに含まれるIDのスキルを受けるとturn_valueとturn_magic_valueが半減するようになっています。
もしこの遅延の仕方を変えたい場合は追加したGame_Battler内のchange_turn_countを変更してください。
たとえばデフォルトだと
self.turn_value /= 2
self.turn_value_magic /= 2
となっていますがこれを
self.turn_value -= $turn_value_max / 2
self.turn_value_magic -= $turn_value_max / 2
とすると$turn_value_maxの半分だけ引き戻されます。
またchange_turn_countにuserという引数を追加してitem_apply内のchange_turn_countにもuserの引数の値をセットすれば
遅延にスキル使用者のパラメータなどを反映させることもできそうです。

9. 無題

なるほど
結構いじる事で使用の幅が広がりそうですね。

ちなみに別のスクリプトを入れてて何故か
遅延スキルだけ発動しなくなってました(汗

10. 無題

なるほど
結構いじる事で使用の幅が広がりそうですね。

ちなみに別のスクリプトを入れてて何故か
遅延スキルだけ発動しなくなってました(汗

11. 無題

ふと思ったんですが
スキル使用時
敵の名前欄とスキル一覧が
行動順グラフィックに重なりますよね。

敵の名前欄とか下げる方法とかあるのでしょうか?

12. 返信

敵の名前欄というのが敵の選択ウィンドウであるならばこのスクリプトのみを導入したデフォルトの状態だと重なってないと思うのですが
ただ色々調整した結果重なっている場合はそのウィンドウの座標を変えるか、もしくはviewportを変更すれば動くと思います。
または行動順のウィンドウの方を動かしたり形を変えてみてもいいかもしれません。
たとえば以前テストゲームで作ったものだと下のリンク先のように縦表示で画面右に移したりしています。
http://blog.cnobi.jp/v1/blog/user/3d98d60619f35633a8bcdbe904a90e7c/1477930122
ついでに上のような表示の仕方を公開しますと(後に記事の形で公開します、以後のターンスクリプトだとこの表示をデフォルトにしようと思っています)
http://blog.cnobi.jp/v1/blog/user/3d98d60619f35633a8bcdbe904a90e7c/1496846336
http://blog.cnobi.jp/v1/blog/user/3d98d60619f35633a8bcdbe904a90e7c/1496846337
のスクリプトを元のスクリプトの下側(ここ重要)においてください。
もし右端ではなく左側に表示したいときは新しく加えた Scene_Battleのcreate_turn_table_windowにおける
@turn_table_viewport.rect.x = Graphics.width - @turn_table_window.widthを
@turn_table_viewport.rect.x = 0にすると左端に移動します。

13. 無題

遅くなりましたが、お返事ありがとうございます。
やり様によっては結構幅広く使えそうですね。
色々試してみようと思います。

14. 無題

遅くなりましたが、お返事ありがとうございます。
やり様によっては結構幅広く使えそうですね。
色々試してみようと思います。

ただいまコメントを受けつけておりません。

敏捷に依存するターンスクリプト2

(2017/11/08) テストゲームの設定がおかしかったので差し替え。

RPGツクールVXAceにおいて戦闘ターンのスクリプトの更新。
前回

・テストゲーム
ダウンロード (1.82MB)

もちろんRPGツクールVXAceのRTPがないと起動しません。

・スクリプト

DataManager

BattleManager

Game_BattlerBase
Game_Battler
Game_Actor
Game_Enemy
Scene_Battle
Game_Unit
Window_BattleEnemy
Window_BattleActor
Window_Turn_Table


上のGame_BattlerBaseからWindow_Turn_Tableまでをまとめたもの(DataManagerとBattleManagerは含んでいません)
composed_turn_script_v2

・導入方法
上のスクリプトたちを導入した後、本体のDataManager内のself.initのcreate_game_objectsの下にload_normal_databasetako376p0を挿入してください。

それから新たにスクリプトとして導入したほうのDataManager内の
$prepare_skill_state_idのIDのステートを魔法待機として設定します。

行動制約により解除にチェックをいれるとうまくいきません。(魔法待機自体が行動制約であるため)
睡眠などの状態異常でそれぞれ魔法待機が解除されるように設定を行ってください。
スキルの速度補正が負の数であるとき魔法待機になります。
速度補正の絶対値が大きいほどスキルを発動するのに時間がかかります。
速度補正に正の数を指定しないでください。


・設定などの説明
DataManager内のload_normal_databasetako376p0という関数において
$enemy_character = [[キャラクター名(ファイル名) , キャラクターの画像のindex ]]
$enemy_character[enemy_id] でenemy_idをIDにもつ敵のターンテーブルに表示されるアイコンを設定します。
$default_enemy_character =  [キャラクター名(ファイル名) , キャラクターの画像のindex ]
でターンテーブルに表示される敵キャラのデフォルトアイコンを設定します。
$prepare_skill_state_idでスキル準備のステートIDを指定します。
$prepare_skill_degreeでスキルの速度補正-1に対してどれだけ発動に時間がかかるかを設定します。
$turn_value_maxでturn_valueの最大値を設定します。
$change_turn_count_listで行動遅延の追加効果のあるスキルIDを指定します。
Game_Battler内のturn_value_magic_velで魔法の駆動速度を設定できます。 


前回との大きな変更は味方に対する魔法の選択中でもターンテーブルに順番を反映するようにしました。
PR

コメント

1. 無題

FF10チックでいいですね!
ただ敵との敏捷性の差が大きくなると攻撃などの選択が
かなり重くなる気がします。

2. 返信

こんばんは。
重くなるケースがどういった状況なのか細かく知りたいです。
もしかしたらこちらが見逃している欠陥があるかもしれないですので…。

いくつか試してみて敏捷値とDataManagerの$turn_value_maxの値の差が極端に大きいと重くなるのは確認しました。
これはbattlerが持っているturn_valueの値を$turn_value_maxまでループするので当然なのですが
$turn_value_maxの値を小さくすると軽くなります。
ですので重い場合はDataManagerの$turn_value_maxをたとえば1000くらいに設定すると軽くなる場合があります。

3. 無題

こんばんわ

$turn_value_max を1000にしてみたら
かなりサクサク動くようになったので問題解決です!

思った以上に応用できそうなスクリプトなので
これからも使わせてもらいます!

ありがとうございました。

4. 無題

ちなみになんですが
左上の行動順番枠を右側にしたり移動させる事ってできますか?

5. 無題

すみません、解決しました!

6. 返信

返信が遅れましたが少し返信します。
Scene_Battleのturn_table_windowにおける
Window_Turn_Table.newの引数をいじれば動かせます。
または@turn_table_windowのviewportを設定しても動かすことができます。
それからWindow_Turn_Tableをいじれば縦枠などもできると思います。

とりあえず(0,0)の座標に設置してしまいましたが文字と重なったりして見辛い面もあるでしょうし
このあたりも今度updateする際に色々なwindowのタイプを付け加えたいと思います。

7. 無題

お久しぶりです。
久々にVXACEを起動させました。

少しお伺いいたい事が
$change_turn_count_list の部分ですが
これって指定した番号のスキルを発動して
敵などに攻撃すると敵の行動順番が遅くなる
仕組みなんでしょうか?

8. 返信

こんにちは。
$change_turn_count_listの件ですがその通りです。
各キャラクターがturn_valueとturn_magic_valueという値を持っていて
通常はturn_value、魔法待機時はturn_magic_valueの値が増えていって
$turn_value_maxの値を超えるとターンが回ってくるという仕組みなのですが
$change_turn_count_listに含まれるIDのスキルを受けるとturn_valueとturn_magic_valueが半減するようになっています。
もしこの遅延の仕方を変えたい場合は追加したGame_Battler内のchange_turn_countを変更してください。
たとえばデフォルトだと
self.turn_value /= 2
self.turn_value_magic /= 2
となっていますがこれを
self.turn_value -= $turn_value_max / 2
self.turn_value_magic -= $turn_value_max / 2
とすると$turn_value_maxの半分だけ引き戻されます。
またchange_turn_countにuserという引数を追加してitem_apply内のchange_turn_countにもuserの引数の値をセットすれば
遅延にスキル使用者のパラメータなどを反映させることもできそうです。

9. 無題

なるほど
結構いじる事で使用の幅が広がりそうですね。

ちなみに別のスクリプトを入れてて何故か
遅延スキルだけ発動しなくなってました(汗

10. 無題

なるほど
結構いじる事で使用の幅が広がりそうですね。

ちなみに別のスクリプトを入れてて何故か
遅延スキルだけ発動しなくなってました(汗

11. 無題

ふと思ったんですが
スキル使用時
敵の名前欄とスキル一覧が
行動順グラフィックに重なりますよね。

敵の名前欄とか下げる方法とかあるのでしょうか?

12. 返信

敵の名前欄というのが敵の選択ウィンドウであるならばこのスクリプトのみを導入したデフォルトの状態だと重なってないと思うのですが
ただ色々調整した結果重なっている場合はそのウィンドウの座標を変えるか、もしくはviewportを変更すれば動くと思います。
または行動順のウィンドウの方を動かしたり形を変えてみてもいいかもしれません。
たとえば以前テストゲームで作ったものだと下のリンク先のように縦表示で画面右に移したりしています。
http://blog.cnobi.jp/v1/blog/user/3d98d60619f35633a8bcdbe904a90e7c/1477930122
ついでに上のような表示の仕方を公開しますと(後に記事の形で公開します、以後のターンスクリプトだとこの表示をデフォルトにしようと思っています)
http://blog.cnobi.jp/v1/blog/user/3d98d60619f35633a8bcdbe904a90e7c/1496846336
http://blog.cnobi.jp/v1/blog/user/3d98d60619f35633a8bcdbe904a90e7c/1496846337
のスクリプトを元のスクリプトの下側(ここ重要)においてください。
もし右端ではなく左側に表示したいときは新しく加えた Scene_Battleのcreate_turn_table_windowにおける
@turn_table_viewport.rect.x = Graphics.width - @turn_table_window.widthを
@turn_table_viewport.rect.x = 0にすると左端に移動します。

13. 無題

遅くなりましたが、お返事ありがとうございます。
やり様によっては結構幅広く使えそうですね。
色々試してみようと思います。

14. 無題

遅くなりましたが、お返事ありがとうございます。
やり様によっては結構幅広く使えそうですね。
色々試してみようと思います。

プロフィール

HN:
tentako
性別:
非公開

P R

フリーエリア