﻿TWパッチ・口上制作者におすすめの関数。使わなくてもいいけど使うと楽。
Ｋから流用したんで喚くさんに感謝して使いましょう。

======================================================================
@ASK_YN
======================================================================

はい・いいえの二択表示とINPUTを一発でやってくれる関数です。
しかも0,1以外の数値が入力されても関数内でLOOP処理してくれるので、こいつを使えば分岐を作る手間が省けます。

・使用例

	PRINTFORML フラグ一号をオンにしますか？
	CALL ASK_YN
	IF !RESULT
		FLAG:一号 = 1
	ELSE
		FLAG:一号 = 0
	ENDIF

・ASK_YNを使わなかった場合

	PRINTFORML フラグ一号をオンにしますか？
	PRINTFORML [0] はい
	PRINTFORML [1] いいえ
	$INPUT_LOOP
	INPUT
	IF !RESULT
		FLAG:一号 = 1
	ELSEIF RESULT == 1
		FLAG:一号 = 0
	ELSE
		GOTO INPUT_LOOP
	ENDIF


なお、引数に文字列を入れると選択肢の文が変わります。

	CALL ASK_YN("オン","オフ")
こうすると、
	[0] オン
	[1] オフ

以上のように表示されます。


======================================================================
@ASK_M
======================================================================
三択以上の表示に使う関数です。こいつのキモはその選択肢を選べる条件を設定できるところです。
@ASK_YN同様表示されてなかったり選べない数値が入力されても関数内でLOOP処理します。

使用例

	PRINTFORML 「お代は1000円だよ」
	CALL ASK_M("買う", MONEY >= 1000, "買わない", 1, "おねだり", TALENT:MASTER:謎の魅力, "奪う", ABL:MASTER:戦闘能力 >= 3)

こうすると以下のように表示されます。

	[0] 買う
	[1] 買わない
	[2] おねだり
	[3] 奪う

選択肢名の直後の式が偽だとグレーアウトされ選べないようになります。
いちいちIF RESULT == 0 && MONEY >= 1000とか書かなくても、

	SELECTCASE RESULT
		CASE 0
		CASE 1
		CASE 2
		CASE 3
	ENDSELECT

分岐はこれで十分になるので、手間とミスを減らせます。

======================================================================
@TEXTR
======================================================================
文字列を入れて/で区切ると当確率でランダム表示します。
短い文章ならRANDなどで分岐作るよりもこっちの方が手っ取り早いです。

使用例
PRINTFORMW 「じゃーんけーん…」
PRINTFORML %TEXTR("グー/チョキ/パー/")%

======================================================================
@HPH_PRINT
======================================================================
ピンクのハートマークが入った文字列を表示します。

使用例
CALL HPH_PRINT("「ストロング虚無ローター味、本日発売HPH　応募券を集めてミラダの石を貰おう！」", "L")

このように使うとHPHの部分がピンク色のハートとして表示され、かつHPHの後は元の色に戻り口上色を汚染しません。

======================================================================
@FIRSTTIME
======================================================================
未読判定用関数です。

使用例
IF FIRSTTIME(SELECTCOM)
	PRINTFORML 「それはやったことないね」
ELSE
	PRINTFORML 「またやるの？」
ENDIF

いちいち口上内で変数を用意しなくても、初回選択か否かの分岐が作れます。

======================================================================
@AddEXP
======================================================================
経験を増やして黄色のメッセージの表示も付けます。

使用例
CALL AddEXP("清掃経験", MASTER, 30)

この一行で以下と同じ処理をします。

EXP:MASTER:清掃経験 += 30
SETCOLOR C_YELLOW
PRINTFORMW 清掃経験 +30 (%CALLNAME:MASTER%)
RESETCOLOR