「口上構成論」(2012/02/27 (月) 22:37:39) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*口上構成論
このページでは、口上テンプレに準じ口上の構成を概説する。
Verは0.302+修正2を前提とする。テンプレ自体と見比べられたし。
わりとぐだぐだ。書けたところから適当に。修正歓迎。Wikiだし。
**@KOJO_MESSAGE_COM_KX1
この関数は、調教時のコマンド実行時に実行される関数である。
最初の「SELECTCASE SELECTCOM」で実行されたコマンド番号に振り分けている。
(CASE 番号 の行)
「CALL TRAIN_MESSAGE」で地の文を表示し、その後にIF-ENDIFループ内から条件に応じた口上に分岐し出力する。
分岐は基本的に、初回、陥落済み(陥落ルート毎に再分岐)、屈服刻印3、その他、となっている。
IF-ENDIFループ内では、条件に対応してコマンドに割り当てられたCFLAGに値を代入している。
これはどのレベルの口上が表示されたか、を示す。
条件分岐において
CFLAG:436 < 2 || FLAG:7 == 2
のようになっている部分が多数あるが、これは
「その部分の口上を出力していない場合、または本体の口上表示頻度が「常に」に設定されている場合」を意味する。
分岐を増やした場合、本体の口上表示頻度を一回のみに設定したユーザへの配慮の意味では、CFLAGへの代入はしっかり行うほうが望ましいと思われる。
上述したが、地の文→口上という順になっている。
これについて記述の上で問題を感じたら、「CALL TRAIN_MESSAGE」の位置をずらすなりいっそ消すなりすることで解決することができる。
//**口上の関数
//口上テンプレートには、以下の関数が定義されている。
//
//@EVENTTRAIN_KX1
//@EVENTTRAIN_SECOND_KX1
//@EVENTEND_KX1
//@KOJO_MESSAGE_COM_KX1
//@KOJO_MESSAGE_PALAMCNG_A_KX1
//@KOJO_MESSAGE_PALAMCNG_E_KX1
//@KOJO_MESSAGE_PALAMCNG_B_KX1
//@KOJO_MESSAGE_PALAMCNG_C_KX1
//@KOJO_MESSAGE_MARKCNG_KX1
//@KOJO_MESSAGE_EVENT_KX1
//@ENEMY_BATTLE_EVENT_KX1
//@BATTLE_MESSAGE_KX1
//
//X1を適切に置き換えたとき、これらの関数がそれぞれのタイミングで本体から呼び出されることとなる。
//
//***@EVENTTRAIN_KX1
//調教開始時に毎回呼び出される関数である。
//特定タイミングでの調教開始時に一回だけ処理を行いたい時に用いられる。
//(つまり初調教時、陥落素質取得直後など)
//最初のIF-ENDIFループでは、処理後、その条件を満たさないようフラグを立ててから
//Return 0……つまりこの関数から抜けるように記述されている。
//ここの条件を満たさない場合、次のループでCALL EVENTTRAIN_SECOND_KX1……
//つまり@EVENTTRAIN_SECOND_KX1が呼び出される。
//
//助手口上を記述する場合はReturn 0しなくても@EVENTTRAIN_SECOND_KX1は呼ばれない。
//
//***@EVENTTRAIN_SECOND_KX1
//@EVENTTRAIN_KX1から呼び出される関数である。
//何回表示されても別に構わないような文章を書くのに使われる。
//実際に何回でも表示されるかは本体のオプションに依存する。
//すなわち、|| FLAG:7 == 2の記載は
*口上構成論
このページでは、口上テンプレに準じ口上の構成を概説する。
Verは0.302+修正2を前提とする。テンプレ自体と見比べられたし。
わりとぐだぐだ。書けたところから適当に。修正歓迎。Wikiだし。
**口上の関数
口上テンプレートには、以下の関数が定義されている。
@EVENTTRAIN_KX1
@EVENTTRAIN_SECOND_KX1
@EVENTEND_KX1
@KOJO_MESSAGE_COM_KX1
@KOJO_MESSAGE_PALAMCNG_A_KX1
@KOJO_MESSAGE_PALAMCNG_E_KX1
@KOJO_MESSAGE_PALAMCNG_B_KX1
@KOJO_MESSAGE_PALAMCNG_C_KX1
@KOJO_MESSAGE_MARKCNG_KX1
@KOJO_MESSAGE_EVENT_KX1
@ENEMY_BATTLE_EVENT_KX1
@BATTLE_MESSAGE_KX1
X1を適切に置き換えたとき、これらの関数がそれぞれのタイミングで本体から呼び出されることとなる。
***@EVENTTRAIN_KX1
調教開始時に毎回呼び出される関数である。
特定タイミングでの調教開始時に一回だけ処理を行いたい時に用いられる。
(つまり初調教時、陥落素質取得直後など)
最初のIF-ENDIFループでは、処理後、その条件を満たさないようフラグを立ててから
Return 0……つまりこの関数から抜けるように記述されている。
ここの条件を満たさない場合、次のループでCALL EVENTTRAIN_SECOND_KX1……
つまり@EVENTTRAIN_SECOND_KX1が呼び出される。
助手口上を記述する場合はReturn 0しなくても@EVENTTRAIN_SECOND_KX1は呼ばれない。
***@EVENTTRAIN_SECOND_KX1
@EVENTTRAIN_KX1から呼び出される関数である。
何回表示されても別に構わないような文章を書くのに使われる。
テンプレでは、実際に何回でも表示されるかは本体のオプションに依存する。
つまりFLAG:7 == 2が正である場合、何度でも表示されることとなる。
***@EVENTEND_KX1
調教終了時に呼び出される関数である。
**@KOJO_MESSAGE_COM_KX1
この関数は、調教時のコマンド実行時に実行される関数である。
最初の「SELECTCASE SELECTCOM」で実行されたコマンド番号に振り分けている。
(CASE 番号 の行)
「CALL TRAIN_MESSAGE」で地の文を表示し、その後にIF-ENDIFループ内から条件に応じた口上に分岐し出力する。
分岐は基本的に、初回、陥落済み(陥落ルート毎に再分岐)、屈服刻印3、その他、となっている。
IF-ENDIFループ内では、条件に対応してコマンドに割り当てられたCFLAGに値を代入している。
これはどのレベルの口上が表示されたか、を示す。
条件分岐において
CFLAG:436 < 2 || FLAG:7 == 2
のようになっている部分が多数あるが、これは
「その部分の口上を出力していない場合、または本体の口上表示頻度が「常に」に設定されている場合」を意味する。
分岐を増やした場合、本体の口上表示頻度を一回のみに設定したユーザへの配慮の意味では、CFLAGへの代入はしっかり行うほうが望ましいと思われる。
上述したが、地の文→口上という順になっている。
これについて記述の上で問題を感じたら、「CALL TRAIN_MESSAGE」の位置をずらすなりいっそ消すなりすることで解決することができる。
表示オプション
横に並べて表示:
変化行の前後のみ表示: