code:
;조교時キャラ別입上を一括管理

;-----------------------------------------------------------------------------------
;입上用システムファイルの存在判定
;EVENT_K.ERB(つまりこのファイル)が存在しているかを判定
;입上が使用可能で입上機能を能動的にOFFにしていない場合에는、自動的にスイッチが入る
;各입上ファイル内でキャラフラグを制御するので、
;EVENT_Kxx.ERB(キャラ別입上ファイル)を途中で삭제してもエラーはでない
;ただし、입上をONにした状態でこのファイルを삭제するとエラーが発生する
;あっても邪魔にはならないので삭제しない方が良いだろう
;-----------------------------------------------------------------------------------
@EVENTSHOP
#PRI
SIF FLAG:7 == 0
	FLAG:7 = 2

;--------------------------------------------------
;입上ファイル分岐用関数
;--------------------------------------------------
@EVENTTRAIN
SIF TARGET < 0
	RETURN 0

$INPUT_LOOP
Z = NO:TARGET + 10000
D = 0
SIF FLAG:Z & 1
	D += 1
SIF FLAG:Z & 2
	D += 1
SIF FLAG:Z & 4
	D += 1
SIF FLAG:Z & 8
	D += 1
IF CFLAG:216 == 0 && D >= 2
	PRINTFORMW %CALLNAME:TARGET%의 표시할 구상 루트를 선택해주세요
	SIF FLAG:Z & 2
		PRINTL [1]연모 루트
	SIF FLAG:Z & 4
		PRINTL [2]음란 루트
	SIF FLAG:Z & 8
		PRINTL [3]복종 루트
	SIF FLAG:Z & 1
		PRINTL [4]모든 루트
	INPUT
	SIF RESULT < 1 || RESULT > 4
		GOTO INPUT_LOOP
	IF RESULT == 1
		IF FLAG:Z & 2
			CFLAG:216 = RESULT
		ELSE
			GOTO INPUT_LOOP
		ENDIF
	ELSEIF RESULT == 2
		IF FLAG:Z & 4
			CFLAG:216 = RESULT
		ELSE
			GOTO INPUT_LOOP
		ENDIF
	ELSEIF RESULT == 3
		IF FLAG:Z & 8
			CFLAG:216 = RESULT
		ELSE
			GOTO INPUT_LOOP
		ENDIF
	ELSEIF RESULT == 4
		IF FLAG:Z & 1
			CFLAG:216 = RESULT
		ELSE
			GOTO INPUT_LOOP
		ENDIF
	ENDIF
	SIF CFLAG:216 == 1
		PRINTW 연모 루트의 구상을 표시합니다
	SIF CFLAG:216 == 2
		PRINTW 음란 루트의 구상을 표시합니다
	SIF CFLAG:216 == 3
		PRINTW 복종 루트의 구상을 표시합니다
	SIF CFLAG:216 == 4
		PRINTW 모든 구상을 표시합니다
ELSEIF CFLAG:216 == 0
	SIF FLAG:Z & 1
		CFLAG:216 = 4
	SIF FLAG:Z & 2
		CFLAG:216 = 1
	SIF FLAG:Z & 4
		CFLAG:216 = 2
	SIF FLAG:Z & 8
		CFLAG:216 = 3
ENDIF
;汎用개시時演出
IF TALENT:최면
	CALL HYPNO_START
ELSE
	CALL EVENTTRAIN_MESSAGE_START
ENDIF
;개시時입上呼び出し
;TRYCALLFORM  EVENTTRAIN_K{NO:TARGET}
TRYCCALLFORM  EVENTTRAIN_K{NO:TARGET}
CATCH
;	PRINTFORML  EVENTTRAIN_K{NO:TARGET}
	CALLFORM  EVENTTRAIN_K_EXTRA
ENDCATCH
;--------------------------------------------------
;@KOJO_MESSAGE_COM関係
;커맨드실행時に出力されます
;--------------------------------------------------
@KOJO_MESSAGE_COM
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL TRAIN_MESSAGE
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL TRAIN_MESSAGE
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_COM_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_COM_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_COM_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_COM_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_PALAMCNG関係
;パラメータ変動をトリガーにした입上
;パラメータ変動後に입上を発動します
;-------------------------------------------------
@KOJO_MESSAGE_PALAMCNG_A
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_A
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_A
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_A_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_A_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_A_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_A_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_PALAMCNG関係
;パラメータ変動をトリガーにした입上
;パラメータ変動後に입上を発動します
;-------------------------------------------------
@KOJO_MESSAGE_PALAMCNG_B
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_B
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_B
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_B_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_B_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_B_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_B_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_PALAMCNG関係
;パラメータ変動をトリガーにした입上
;パラメータ変動後に입上を発動します
;-------------------------------------------------
@KOJO_MESSAGE_PALAMCNG_C
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_C
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_C
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_C_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM KOJO_MESSAGE_PALAMCNG_C_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_C_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_C_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_PALAMCNG関係
;パラメータ変動をトリガーにした입上
;パラメータ変動後に입上を発動します
;-------------------------------------------------
@KOJO_MESSAGE_PALAMCNG_D
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_D
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_D
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_D_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_D_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_D_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_D_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_PALAMCNG関係
;パラメータ変動をトリガーにした입上
;パラメータ変動後に입上を発動します
;-------------------------------------------------
@KOJO_MESSAGE_PALAMCNG_E
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_E
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL PALAM_MESSAGE_E
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_E_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_E_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_E_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_PALAMCNG_E_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_MARKCNG関係
;각인変動をトリガーにした입上
;각인変動後に입上を発動します
;-------------------------------------------------
@KOJO_MESSAGE_MARKCNG
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL MARK_MESSAGE
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL MARK_MESSAGE
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_MARKCNG_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_MARKCNG_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_MARKCNG_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_MARKCNG_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_EVENT関係
;イベント時の입上、イベント개시時に出力します
;-------------------------------------------------
@KOJO_MESSAGE_EVENT
IF FLAG:7 <= 0
	SIF FLAG:6 > 0
		CALL EVENT_MESSAGE
	RETURN 0
ENDIF

;입上の存在判定
Z = NO:TARGET + 10000
IF FLAG:Z == 0
	SIF FLAG:6 > 0
		CALL EVENT_MESSAGE
	RETURN 0
ENDIF
SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_EVENT_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_EVENT_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_EVENT_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_EVENT_K{NO:TARGET}_OBEY

;-------------------------------------------------
;@KOJO_MESSAGE_ENDING関係
;イベント時の입上、イベント개시時に出力します
;-------------------------------------------------
@KOJO_MESSAGE_ENDING

;입上の存在判定
Z = NO:TARGET + 10000
SIF FLAG:Z == 0
	RETURN 0

SIF CFLAG:216 == 4
	TRYCALLFORM  KOJO_MESSAGE_ENDING_K{NO:TARGET}
SIF CFLAG:216 == 1
	TRYCALLFORM  KOJO_MESSAGE_ENDING_K{NO:TARGET}_LOVE
SIF CFLAG:216 == 2
	TRYCALLFORM  KOJO_MESSAGE_ENDING_K{NO:TARGET}_LEWD
SIF CFLAG:216 == 3
	TRYCALLFORM  KOJO_MESSAGE_ENDING_K{NO:TARGET}_OBEY