[VX] バトルを最初からやり直す
VX標準システムでは、バトル中に全滅すると特に指定がない限り
ゲームオーバーになるのが仕様になっています。今回作成した
スクリプトはプレイヤーがバトルをやり直すかどうかを選択する
ことができるようになる機能を追加するものです。
スクリプト素材のダウンロードは↓
http://www.lm-t.com/blog/continue_101.zip
[2013/8/24追記]
拙作スクリプトとの競合解決を行いました。(Ver1.01)
-----機能説明ここから-----
■基本情報■
1.機能概要
コンティニュースクリプトは、バトルで負けた時ゲームオーバーに
ならずにバトルの最初からやり直すことができるようする機能を
追加するものです。
バトルで負けてゲームオーバーになる前にコンティニューするか
どうかをプレイヤーが選択し、コンティニューする場合にバトルを
最初からやり直します。
この時、コンティニュー可能な条件を設定したり、コンティニュー
した時にスイッチ操作など任意のアクションを実行することが
できるようになっています。
2.コンティニュー機能のカスタマイズ
コンティニュースクリプトの動作は、ある程度カスタマイズする
ことができるようになっています。カスタマイズする場合は、
Configモジュールに規定の値を記述します。
以下に、Configモジュールに記述する値の説明を記載します。
(1) CONTINUE_ENABLED
コンティニュー機能そのものを有効にするかどうか選択します。
trueを指定すると有効化されます。
falseを指定すると無効化されます。
(2) CONTINUE_BGM
コンティニューするかどうかを選択している時に流れるBGMを
指定します。BGMは (制作中ゲームフォルダ)\Audio\BGM から
読み込もうとします。
指定するBGMファイルに拡張子は不要です。
nilまたは""を指定するとコンティニュー選択時は無音になります。
(3) CONTINUE_MESSAGE
コンティニュー選択時のウィンドウに表示するメッセージを
指定します。メッセージは最大で13行まで表示することができます。
メッセージを改行したい時は、改行したい位置に"\n"と記述して
ください。
(4) CONTINUE_POSITIVE
コンティニューする場合の選択肢の文言を指定します。
この文言は改行できません。
(5) CONTINUE_NEGATIVE
コンティニューしない場合の選択肢の文言を指定します。
この文言は改行できません。
(6) CONTINUE_CONDITION
コンティニュー可能な条件を指定します。
条件の指定方法は「3.コンティニュー可能な条件の指定」に
記載します。
(7) CONTINUE_ACTION
コンティニュー時に行うアクションを指定します。
アクションの指定方法は「4.コンティニュー時のアクション」に
記載します。
(8) CONTINUE_COUNTUP_VARIABLE
コンティニュー時に値を1ずつカウントアップする変数の番号を
指定します。0を指定すると、カウントアップは行いません。
(9) CONTINUE_RESOLVE_CONFLICT_T14_051 (Ver 1.01)
拙作スクリプト「動画スクリプト」との競合問題を解決するかを
指定します。動画スクリプトを導入している場合は必ずtrueを
指定してください。
3.コンティニュー可能な条件の指定
コンティニュー機能を有効にした場合に、コンティニューが可能に
なる条件をカスタマイズすることができます。例えば、ある特定の
アイテムを1個以上所有していないとコンティニューできないなどの
システムを実現したい時などに使用します。
コンティニュー可能条件はConfigモジュールのCONTINUE_CONDITION
に規定の書式に従って条件を記述します。
以下に書式の説明を記載します。
"[条件] [ID] [演算子] [値]"
(1) [条件]
条件には、コンティニュー可否を決定するにあたって何を
参照するかを決定します。この値に記述する内容は以下の
ものがサポートされています。
item アイテムの数を参照します。
switch スイッチのON/OFFを参照します。
variable 変数の値を参照し明日。
(2) [ID]
IDには、[条件]で記述した内容の該当するIDを整数値で記述
します。アイテムの場合はアイテムID、スイッチ、変数の場合は
それぞれの番号を指定します。
(3) [演算子]
演算子には、[値]で指定した値をどのように比較するかを
決定します。この値に記述する内容は以下のものがサポート
されています。
= [値]で記述した値と等しい場合に条件が成立します。
!= [値]で記述した値と等しくない場合に条件が成立します。
> [値]で記述した値より大きい場合に条件が成立します。
< [値]で記述した値より小さい場合に条件が成立します。
>= [値]で記述した値以上の場合に条件が成立します。
<= [値]で記述した値以下の場合に条件が成立します。
[条件]にswitchを記述している場合、演算子には=のみが
記述できます。それ以外の演算子を記述するとパーティ全滅時に
エラーが発生し、ゲームが強制的に停止します。
(4) [値]
値には、[条件]で記述した内容を[演算子]で記述した方式で
比較を行い、コンティニュー可否を決定します。[値]には
整数値(マイナス値も含む)のみ記述できます。
[条件]にswitchを記述している場合、1を記述するとON、
0を記述するとOFFを意味します。それ以外の値を記述した
場合の動作内容は保証されません。
[]内の記述ごとに1個以上の半角スペースまたはタブを挿入
しなければなりません。ない場合はパーティ全滅時にエラーが
発生します。
コンティニュー可能な条件に"always"と記述すると、
常にコンティニュー可能になります。
[記述例]
"item 1 > 0" アイテムID:1を所有している場合成立
"switch 20 = 1" スイッチ番号:20がONの場合成立
"variable 1 <= 50" 変数番号:1が50以下の場合成立
4.コンティニュー時のアクション
コンティニューを行った場合に、自動的に行うアクションを
カスタマイズすることができます。例えば、コンティニューする
度にある特定のアイテムを1個ずつ減らすなどのシステムを実現
したい時などに使用します。
コンティニュー時のアクションはConfigモジュールの
CONTINUE_ACTIONに規定の書式に従って記述します。
以下に書式の説明を記載します。
"[対象] [ID] [演算子] [値]"
(1) [対象]
対象には、コンティニューを行った時に操作する対象物を
記述します。この値に記述する内容は以下のものがサポート
されています。
item アイテム数を操作します。
switch スイッチを操作します。
variable 変数を操作します。
(2) [ID]
IDには、[対象]で記述した内容の該当するIDを整数値で記述
します。アイテムの場合はアイテムID、スイッチ、変数の場合は
それぞれの番号を指定します。
(3) [演算子]
演算子には、[対象]で指定した対象物を[値]で指定した値で
どのように操作するかを決定します。この値に記述する内容は
以下のものがサポートされています。
= 対象物の値を[値]で記述した値に設定します。
+ 対象物の値に[値]で記述した値を加算します。
- 対象物の値から[値]で記述した値を減算します。
[対象]にswitchを記述している場合、演算子には=のみが
記述できます。それ以外の演算子を記述するとコンティニュー時に
エラーが発生し、ゲームが強制的に停止します。
(4) [値]
値には、[対象]で記述した対象物を[演算子]で記述した方式で
操作する時の元になる値を記述します。この値には
整数値(マイナス値も含む)のみ記述できます。
[対象]にswitchを記述している場合、1を記述するとON、
0を記述するとOFFを意味します。それ以外の値を記述した
場合の動作内容は保証されません。
[]内の記述ごとに1個以上の半角スペースまたはタブを挿入
しなければなりません。ない場合はコンティニュー時にエラーが
発生します。
コンティニュー時のアクションに"nothing"と記述すると、
何も行いません。
[記述例]
"item 30 - 1" アイテムID:30を1個減らす
"switch 5 = 0" スイッチ番号:5をOFFにする
"variable 1 + 20" 変数番号:1に20を加算する
■導入手順■
1.スクリプトの追加と置換
(1) 追加
以下のスクリプトは標準のスクリプトには存在しないものなので、
手動で追加する必要があります。スクリプトの名前は各ファイル名
から「.txt」を除いたものにしてください。
Config.txt
Controller_Continue.txt
Scene_Continue.txt
Window_Continue.txt
ただし、過去に公開された拙作のスクリプト素材を導入済みで、
すでに同じ名前のスクリプトが存在する場合は、以下のコメントで
囲まれている部分を手動で追加してください。
#T14-038 NEW--->
#<--------------
(1) 置換
以下のスクリプトの内容を書き換える作業を行います。
Game_Interpreter.txt → Game_Interpreter
Game_Temp.txt → Game_Temp
Scene_Battle.txt → Scene_Battle
Scene_Map.txt → Scene_Map
上記で示したスクリプトに、以下のコメントで囲まれている部分を
手動で追加してください。
#T14-038 ADD--->
#<--------------
#T14-038 1.01 ADD--->
#<-------------------
変更する箇所を間違えないように注意してください。
●注意
置換作業を行う前に必ずバックアップを取っておくようにしてください。
元のスクリプトの状況によっては、置換を行うことでスクリプトが
正常に動作しなくなることがあります。
-----機能説明ここまで-----
ゲームオーバーになるのが仕様になっています。今回作成した
スクリプトはプレイヤーがバトルをやり直すかどうかを選択する
ことができるようになる機能を追加するものです。
スクリプト素材のダウンロードは↓
http://www.lm-t.com/blog/continue_101.zip
[2013/8/24追記]
拙作スクリプトとの競合解決を行いました。(Ver1.01)
-----機能説明ここから-----
■基本情報■
1.機能概要
コンティニュースクリプトは、バトルで負けた時ゲームオーバーに
ならずにバトルの最初からやり直すことができるようする機能を
追加するものです。
バトルで負けてゲームオーバーになる前にコンティニューするか
どうかをプレイヤーが選択し、コンティニューする場合にバトルを
最初からやり直します。
この時、コンティニュー可能な条件を設定したり、コンティニュー
した時にスイッチ操作など任意のアクションを実行することが
できるようになっています。
2.コンティニュー機能のカスタマイズ
コンティニュースクリプトの動作は、ある程度カスタマイズする
ことができるようになっています。カスタマイズする場合は、
Configモジュールに規定の値を記述します。
以下に、Configモジュールに記述する値の説明を記載します。
(1) CONTINUE_ENABLED
コンティニュー機能そのものを有効にするかどうか選択します。
trueを指定すると有効化されます。
falseを指定すると無効化されます。
(2) CONTINUE_BGM
コンティニューするかどうかを選択している時に流れるBGMを
指定します。BGMは (制作中ゲームフォルダ)\Audio\BGM から
読み込もうとします。
指定するBGMファイルに拡張子は不要です。
nilまたは""を指定するとコンティニュー選択時は無音になります。
(3) CONTINUE_MESSAGE
コンティニュー選択時のウィンドウに表示するメッセージを
指定します。メッセージは最大で13行まで表示することができます。
メッセージを改行したい時は、改行したい位置に"\n"と記述して
ください。
(4) CONTINUE_POSITIVE
コンティニューする場合の選択肢の文言を指定します。
この文言は改行できません。
(5) CONTINUE_NEGATIVE
コンティニューしない場合の選択肢の文言を指定します。
この文言は改行できません。
(6) CONTINUE_CONDITION
コンティニュー可能な条件を指定します。
条件の指定方法は「3.コンティニュー可能な条件の指定」に
記載します。
(7) CONTINUE_ACTION
コンティニュー時に行うアクションを指定します。
アクションの指定方法は「4.コンティニュー時のアクション」に
記載します。
(8) CONTINUE_COUNTUP_VARIABLE
コンティニュー時に値を1ずつカウントアップする変数の番号を
指定します。0を指定すると、カウントアップは行いません。
(9) CONTINUE_RESOLVE_CONFLICT_T14_051 (Ver 1.01)
拙作スクリプト「動画スクリプト」との競合問題を解決するかを
指定します。動画スクリプトを導入している場合は必ずtrueを
指定してください。
3.コンティニュー可能な条件の指定
コンティニュー機能を有効にした場合に、コンティニューが可能に
なる条件をカスタマイズすることができます。例えば、ある特定の
アイテムを1個以上所有していないとコンティニューできないなどの
システムを実現したい時などに使用します。
コンティニュー可能条件はConfigモジュールのCONTINUE_CONDITION
に規定の書式に従って条件を記述します。
以下に書式の説明を記載します。
"[条件] [ID] [演算子] [値]"
(1) [条件]
条件には、コンティニュー可否を決定するにあたって何を
参照するかを決定します。この値に記述する内容は以下の
ものがサポートされています。
item アイテムの数を参照します。
switch スイッチのON/OFFを参照します。
variable 変数の値を参照し明日。
(2) [ID]
IDには、[条件]で記述した内容の該当するIDを整数値で記述
します。アイテムの場合はアイテムID、スイッチ、変数の場合は
それぞれの番号を指定します。
(3) [演算子]
演算子には、[値]で指定した値をどのように比較するかを
決定します。この値に記述する内容は以下のものがサポート
されています。
= [値]で記述した値と等しい場合に条件が成立します。
!= [値]で記述した値と等しくない場合に条件が成立します。
> [値]で記述した値より大きい場合に条件が成立します。
< [値]で記述した値より小さい場合に条件が成立します。
>= [値]で記述した値以上の場合に条件が成立します。
<= [値]で記述した値以下の場合に条件が成立します。
[条件]にswitchを記述している場合、演算子には=のみが
記述できます。それ以外の演算子を記述するとパーティ全滅時に
エラーが発生し、ゲームが強制的に停止します。
(4) [値]
値には、[条件]で記述した内容を[演算子]で記述した方式で
比較を行い、コンティニュー可否を決定します。[値]には
整数値(マイナス値も含む)のみ記述できます。
[条件]にswitchを記述している場合、1を記述するとON、
0を記述するとOFFを意味します。それ以外の値を記述した
場合の動作内容は保証されません。
[]内の記述ごとに1個以上の半角スペースまたはタブを挿入
しなければなりません。ない場合はパーティ全滅時にエラーが
発生します。
コンティニュー可能な条件に"always"と記述すると、
常にコンティニュー可能になります。
[記述例]
"item 1 > 0" アイテムID:1を所有している場合成立
"switch 20 = 1" スイッチ番号:20がONの場合成立
"variable 1 <= 50" 変数番号:1が50以下の場合成立
4.コンティニュー時のアクション
コンティニューを行った場合に、自動的に行うアクションを
カスタマイズすることができます。例えば、コンティニューする
度にある特定のアイテムを1個ずつ減らすなどのシステムを実現
したい時などに使用します。
コンティニュー時のアクションはConfigモジュールの
CONTINUE_ACTIONに規定の書式に従って記述します。
以下に書式の説明を記載します。
"[対象] [ID] [演算子] [値]"
(1) [対象]
対象には、コンティニューを行った時に操作する対象物を
記述します。この値に記述する内容は以下のものがサポート
されています。
item アイテム数を操作します。
switch スイッチを操作します。
variable 変数を操作します。
(2) [ID]
IDには、[対象]で記述した内容の該当するIDを整数値で記述
します。アイテムの場合はアイテムID、スイッチ、変数の場合は
それぞれの番号を指定します。
(3) [演算子]
演算子には、[対象]で指定した対象物を[値]で指定した値で
どのように操作するかを決定します。この値に記述する内容は
以下のものがサポートされています。
= 対象物の値を[値]で記述した値に設定します。
+ 対象物の値に[値]で記述した値を加算します。
- 対象物の値から[値]で記述した値を減算します。
[対象]にswitchを記述している場合、演算子には=のみが
記述できます。それ以外の演算子を記述するとコンティニュー時に
エラーが発生し、ゲームが強制的に停止します。
(4) [値]
値には、[対象]で記述した対象物を[演算子]で記述した方式で
操作する時の元になる値を記述します。この値には
整数値(マイナス値も含む)のみ記述できます。
[対象]にswitchを記述している場合、1を記述するとON、
0を記述するとOFFを意味します。それ以外の値を記述した
場合の動作内容は保証されません。
[]内の記述ごとに1個以上の半角スペースまたはタブを挿入
しなければなりません。ない場合はコンティニュー時にエラーが
発生します。
コンティニュー時のアクションに"nothing"と記述すると、
何も行いません。
[記述例]
"item 30 - 1" アイテムID:30を1個減らす
"switch 5 = 0" スイッチ番号:5をOFFにする
"variable 1 + 20" 変数番号:1に20を加算する
■導入手順■
1.スクリプトの追加と置換
(1) 追加
以下のスクリプトは標準のスクリプトには存在しないものなので、
手動で追加する必要があります。スクリプトの名前は各ファイル名
から「.txt」を除いたものにしてください。
Config.txt
Controller_Continue.txt
Scene_Continue.txt
Window_Continue.txt
ただし、過去に公開された拙作のスクリプト素材を導入済みで、
すでに同じ名前のスクリプトが存在する場合は、以下のコメントで
囲まれている部分を手動で追加してください。
#T14-038 NEW--->
#<--------------
(1) 置換
以下のスクリプトの内容を書き換える作業を行います。
Game_Interpreter.txt → Game_Interpreter
Game_Temp.txt → Game_Temp
Scene_Battle.txt → Scene_Battle
Scene_Map.txt → Scene_Map
上記で示したスクリプトに、以下のコメントで囲まれている部分を
手動で追加してください。
#T14-038 ADD--->
#<--------------
#T14-038 1.01 ADD--->
#<-------------------
変更する箇所を間違えないように注意してください。
●注意
置換作業を行う前に必ずバックアップを取っておくようにしてください。
元のスクリプトの状況によっては、置換を行うことでスクリプトが
正常に動作しなくなることがあります。
-----機能説明ここまで-----
この記事へのコメント