sleeping-princess-in-the-attic/data/first.ks
2024-04-18 13:16:54 -05:00

7573 lines
252 KiB
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*スクリプトロード
;パッチ制作時にoverrideとかafterinitの書き換えの確率を減らす 0にはできない…極力overrideとafterinitは使うべきではないな
[call storage="utl_Script.ks"]
;ゲームスピード
[call storage="utl_GameSpeed.ks"]
*プラグインロード
;oggは、このタグを入れないと演奏されない
[loadplugin module="wuvorbis.dll"]
[call storage="YesNoDialogLayer.ks"]
[call storage="SliderPlugin.ks"]
[call storage="Krclick.ks"]
[call storage="Macro_Sound.ks"]
[call storage="Macro_Layers.ks"]
[call storage="SaveAnywhere.ks"]
[call storage="ExtSystemButton.ks"]
[call storage="AnimButtonPlugin.ks"]
[call storage="CutInPlugin.ks"]
[call storage="PlayTime.ks"]
[call storage="Macro_APimage.ks"]
;pluginの、windowEXと組み合わせてマウスでリサイズできるようになる。重要
;エラーが出る可能性を考慮し、オンオフを可能とする。通常時はONだ
;0の時が通常だよ
;0が通常がエラー対策
[eval exp="tf.HiddenWindowEX=0"]
[if exp="tf.HiddenWindowEX==0"]
[call storage="WindowResizable.ks"]
[else]
;1ならばwindowResizebleをそもそも読まないし、ウィンドウサイズも標準化
[eval exp="kag.setInnerSize(1280, 720, true) , sf.normalwindow = 1"]
[endif]
*ストーリーロード
;エクセルとの連携で作業しやすくする為追加。storymacroもショートカットように一応残る ほんとに一応だけど
[call storage="Story_Action.ks"]
*マクロロード
;ここで使用するマクロの入力を行う。
[call storage="Macro.ks"]
[call storage="Macro_Button.ks"]
[call storage="Macro_System.ks"]
[call storage="Macro_Action.ks"]
[call storage="parameter.ks"]
;デバッグウィンドウ
[if exp="tf.SuperShortCut==1"]
[call storage="utl_DebugWindow.ks"]
[endif]
;ファイル見つからなかった時にエラーを出さない。
[if exp="tf.IgnoreMissing == 1"]
[eval exp="ignoreSEMissing = true"]
[eval exp="ignoreImageMissing = true"]
[else]
[eval exp="ignoreSEMissing = false"]
[eval exp="ignoreImageMissing = false"]
[endif]
[eval exp="ignoreSEMissing = false"]
[eval exp="ignoreImageMissing = false"]
*吉里吉里起動
;どうも二度目の起動でもここは実行されるようなので注意して
[startanchor enabled=false]
*ショップ初期化
;章のアンロック☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[eval exp="f.unlock1 = 1"]
;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
*変数宣言
;ネームタグを強制的に変更できる。1の時少年少女になるよ
[eval exp="tf.NametagGirl = 0"]
[eval exp="tf.NametagBoy = 0"]
;タリアの日数表示
[eval exp="f.TariaDay = 0"]
;タリアの日数表示
[eval exp="tf.EndlessFlag = 0"]
;最後に選んでたシナリオ NORMALで変化する
[eval exp="f.PreviousLoopFlag = 0"]
;最初に初期化しちゃう
[eval exp="tf.galflag = 0"]
;ゲームスピードの増分
[eval exp="f.GameSpeedPlus = 0.0"]
;日記の表示フラグ
[eval exp="f.NM_Diary=0"]
[eval exp="f.PP_Diary=0"]
;エンドレスのハードフラグ
[eval exp="f.Endless_Hard=0"]
;射精時のレベルアップ倍率 暴走にだけかかる
[eval exp="tf.EjacEXPUP=1.0"]
;トロフィー数 ちなみにタゲ数とスキン数はtfなのでいらない
[eval exp="f.TrophyNumTotal = 0"]
;エンドレスのエンディングフラグ
[eval exp="f.EndlessEndStatus=[]"]
[eval exp="f.EndlessEndStatus[0]=[]"]
[eval exp="f.EndlessEndStatus[1]=[]"]
[eval exp="f.EndlessEndStatus[2]=[]"]
[eval exp="f.EndlessEndStatus[3]=[]"]
;絶頂などがたまりすぎた時のやつ
[eval exp="tf.ActExtraEXFlag=0"]
;初期化 結構0判定使う
[eval exp="tf.TargetEjac=0"]
;秒数計測とか
[eval exp="f.HP_TOTAL=0"]
[eval exp="f.HP_TOTALTIME=0"]
;エラー時に何度もエラーメッセージ出るのを念の為避ける
[eval exp="tf.TryError = 0"]
;壁紙変数
[eval exp="f.WallPaperSelect=0"]
;射精ショートカットを直接飛ばす為にまず初期化
[eval exp="tf.ShortcutMovieStart=''"]
[eval exp="tf.ShortcutMovieEnd=''"]
;ロールバックとトロフィーコンプの初期化
[eval exp="f.DebugRollBack = 0"]
[eval exp="f.TrophyComp = 0"]
[eval exp="tf.WetClicked=0"]
;f.cameraをカメラ名に変換する
[eval exp="tf.CameraName='A'"]
;クリック系のエフェクトを防ぐ変数の初期化
[eval exp="tf.KeyBoardClick = 0"]
;観察系のみに使用されるフラグ。CVISXの時、CVISとEXの全てのパラメーター上昇を許可
[eval exp="tf.MClickCVISX = ''"]
;観察系のみに使用される。回数が累積され、フラグがX(SP上昇するタイミングでになる
[eval exp="tf.MclickNum=0"]
;ボタンを押した瞬間のみ確定される裏表フラグ。各種アクションごとに射精入れる為、必要となった。anotheractとはまた別のやつ
[eval exp="tf.URA = 0"]
;アフターストーリーの為の変数
[eval exp="f.dAfterNum=0"]
;ステータス用
[eval exp="tf.statOpacity=255"]
;アイテム使用回数
[eval exp="f.Item_HPUP_Used=0"]
;;;欲情射精使用回数 移行イベント用に作ったけど条件が複雑になりすぎるので使わないかも…
;;;[eval exp="f.Item_Ejac_Used=0"]
;マルチクリックの画像入れるための変数
[eval exp="f.MultiClickSize = []"]
[eval exp="f.MultiClickSize[0] = 100"]
[eval exp="f.MultiClickSize[1] = 100"]
[eval exp="f.MultiClickSize[2] = 100"]
;一時的にボイスを格納する。本当はkag.se[2].currentStorageでやりたいんだけど見かけのストレージだからか再生されてても格納されてない事がある。その場合反応しないのでしょうがなくこの形式に lCurrentVoiceのバグを治すため
[eval exp ="tf.tempVoice = ''"]
;デバッグ用変数 初期が0
[eval exp ="tf.SP_Change = 0"]
;ステータス画像のデバッグ用変数。0じゃない時、必ずデバッグモードになってるって仕様だ。これは製品時に消さなくても大丈夫
[eval exp="tf.StatDebug = 0"]
;ピクトギャラリー配列------------------------------------------------------------------------------------------------
;解説
;tf.PictNameに、全ての静止画をロード関数を使い格納。
;さらにPictVisFlagにストーリーで格納していく。PictNameがPictVisFlagに存在するならば表示される。
;ちなみに最初のファイルはフォルダ内のファイルを選び、シフト+右クリックのパスのコピーで検出できる
[eval exp="tf.PictName = []"]
;System.dataPath…データ保存場所
;https://meganen.sakura.ne.jp/text/array_method.html 参照。
[eval exp = "tf.PictName.load(System.dataPath+'PictGallery.txt')"]
;-------------------------------------------------------------------------------------------
;BGMセレクト変数初期化
[eval exp="tf.BGMselectSEX = 0"]
;ストーリー用の配列の定義
[eval exp="f.DateFlag = [0,0,0,0,0,0,0,0]"]
;感度表示マクロ用
[eval exp="tf.tempCVISWORD = ''"]
;分岐フラグだよ。ちなみにtfにするとロードした時バグるかんね。本当は初期化すら必要無いけど名残である
[eval exp = "f.Branch = ''"]
;現在いるループ世界
[eval exp="f.LoopFlag = 0"]
;テンプストアレベルの初期化
[eval exp="tf.tempStoreLV = 1"]
;次にアンロック出来るレベルの定義。なお、EXP表示にも使用
[eval exp="tf.tempActUnlock = 1"]
;感度計算や左部の表示にも使う、テンポラリなLV
[eval exp="tf.tempCVISLV = 1"]
;行為がフルになった時に次のレベルへ映るために射精を早める
[eval exp="tf.FilledBias = 1.0"]
;射精を一度でも行った行為の累計がまとめられる。行為画面左下の、星計算などに使う
[eval exp="f.C_TotalEX = [] "]
[eval exp="f.V_TotalEX = [] "]
[eval exp="f.I_TotalEX = [] "]
[eval exp="f.S_TotalEX = [] "]
;各種経験の累計・累積値。これにf.AC_EXPなどを足した物が現在の累計経験値になるよ。3章の分岐などにかかるんにゃ
[eval exp="f.AC_EXP_Sum = 0"]
[eval exp="f.AV_EXP_Sum = 0"]
[eval exp="f.AI_EXP_Sum = 0"]
[eval exp="f.AS_EXP_Sum = 0"]
;ゲームスピードによるEXP調整に使う。本来得られるはずの上昇率の比率
[eval exp="tf.RestStoreSP = 1"]
;!!!!!!!!!!!!!!!!各行為のレベルを参照する為の3重配列。着衣・脱衣  非挿入と挿入  各種行為の順で参照される
;半裸・脱衣の宣言
[eval exp="f.StoreLV = [] "]
;非挿入と挿入の宣言
[eval exp="f.StoreLV[0] = []"]
[eval exp="f.StoreLV[1] = []"]
;各種行為の宣言
[eval exp="f.StoreLV[0][0] = []"]
[eval exp="f.StoreLV[0][1] = []"]
[eval exp="f.StoreLV[1][0] = []"]
[eval exp="f.StoreLV[1][1] = []"]
[eval exp="f.StoreLV[0][0] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
[eval exp="f.StoreLV[0][1] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
[eval exp="f.StoreLV[1][0] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
[eval exp="f.StoreLV[1][1] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
;濃色系は最初からL3なので---------------------------------------------------------------------------------------
;02_秘部責める
[eval exp="f.StoreLV[0][0][12] = 2"]
[eval exp="f.StoreLV[1][0][12] = 2"]
;06_逆道具
[eval exp="f.StoreLV[0][0][16] = 2"]
[eval exp="f.StoreLV[1][0][16] = 2"]
;B02_逆騎乗
[eval exp="f.StoreLV[0][1][12] = 2"]
[eval exp="f.StoreLV[1][1][12] = 2"]
;C03_逆後背
[eval exp="f.StoreLV[0][1][13] = 2"]
[eval exp="f.StoreLV[1][1][13] = 2"]
;E05_搾精
[eval exp="f.StoreLV[0][1][15] = 2"]
[eval exp="f.StoreLV[1][1][15] = 2"]
;F06_逆アナル
[eval exp="f.StoreLV[0][1][16] = 2"]
[eval exp="f.StoreLV[1][1][16] = 2"]
;ギャラリー時の為に保管する
;半裸・脱衣の宣言
[eval exp="tf.DummyStoreLV = [] "]
[eval exp="tf.DummyStoreLV.assignStruct(f.StoreLV)"]
;4重配列のためのイニシャル配列。各4重配列に同様の内容がコピーされる。初期化にも使用される
;30にタリア編を追加した
;半裸・脱衣の宣言
[eval exp="tf.ArrInit = [] "]
;非挿入と挿入の宣言
[eval exp="tf.ArrInit[0] = []"]
[eval exp="tf.ArrInit[1] = []"]
[eval exp="tf.ArrInit[0][0] = []"]
[eval exp="tf.ArrInit[0][1] = []"]
[eval exp="tf.ArrInit[1][0] = []"]
[eval exp="tf.ArrInit[1][1] = []"]
[eval exp="tf.ArrInit[0][0][0] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][1] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][2] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][3] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][4] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][5] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][6] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][10] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][11] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][12] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][13] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][14] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][15] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][16] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][20] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][21] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][22] = [0,0,0]"]
[eval exp="tf.ArrInit[0][0][30] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][0] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][1] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][2] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][3] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][4] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][5] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][6] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][10] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][11] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][12] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][13] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][14] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][15] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][16] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][20] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][21] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][22] = [0,0,0]"]
[eval exp="tf.ArrInit[0][1][30] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][0] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][1] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][2] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][3] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][4] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][5] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][6] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][10] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][11] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][12] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][13] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][14] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][15] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][16] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][20] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][21] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][22] = [0,0,0]"]
[eval exp="tf.ArrInit[1][0][30] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][0] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][1] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][2] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][3] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][4] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][5] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][6] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][10] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][11] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][12] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][13] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][14] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][15] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][16] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][20] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][21] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][22] = [0,0,0]"]
[eval exp="tf.ArrInit[1][1][30] = [0,0,0]"]
;その周での行為の射精数を参照する為の4重配列。着衣・脱衣 非挿入と挿入 各種行為 各レベル
[eval exp="f.StoreEX = [] "]
[eval exp="f.StoreEX.assignStruct(tf.ArrInit) "]
;射精・絶頂のゲージ
[eval exp="f.EjacSP = 0 "]
[eval exp="f.OrgaSP = 0 "]
;1の時旧来のSPの増分が按分されて入る
[eval exp="tf.EjacSP_Rate = 0"]
[eval exp="tf.OrgaSP_Rate = 0"]
;累計での行為の射精数を参照する為の4重配列
[eval exp="f.TotalStoreEX = [] "]
[eval exp="f.TotalStoreEX.assignStruct(tf.ArrInit) "]
;前週までに一度でも射精したか。リザルトでのみ計算される(重要)。ギャラリーでは代用できない。
[eval exp="f.PreviousStoreEX = [] "]
[eval exp="f.PreviousStoreEX.assignStruct(tf.ArrInit) "]
;行為マスタード 空手マスタード? もーこれ本当に要るか?まあマスターの仕様はちょっと混乱しそうだもんなあ…
[eval exp="f.ActMaster = [] "]
[eval exp="f.ActMaster.assignStruct(tf.ArrInit) "]
[eval exp="f.LastActMaster = [] "]
[eval exp="f.LastActMaster.assignStruct(tf.ArrInit) "]
;各行為のカメラを参照。一度でも行われていたら1以上になる。ギャラリー・ABCの動画振り分けに使う。---------------------------------------------------------------------------------
[eval exp="f.ActFlag = [] "]
[eval exp="f.ActFlag.assignStruct(tf.ArrInit) "]
[eval exp="tf.DummyActFlag = [] "]
[eval exp="tf.DummyActFlag.assignStruct(tf.ArrInit) "]
;各行為の出現フラグ といっても出現した時にポップアップを出すためのフラグ---------------------------------------------------------------------------------
[eval exp="f.NewMarkFlag = [] "]
[eval exp="f.NewMarkFlag.assignStruct(tf.ArrInit) "]
;スキンを所持しているかを得る確認用
[eval exp="f.NewSkinCheck = [] "]
[eval exp="f.NewSkinCheck.assignStruct(tf.ArrInit) "]
;f.ActFlagのEX。EXが一度でも行われたか。以前はギャラリーで参照していたが、セーブ毎に参照する必要があることに気づいた為作成----------------------------------------------------------------------------------
[eval exp="f.ActEXFlag = [] "]
[eval exp="f.ActEXFlag.assignStruct(tf.ArrInit) "]
;各行為のパラメーターを参照する為の4重配列
[eval exp="tf.ActParam = [] "]
[eval exp="tf.ActParam.assignStruct(tf.ArrInit) "]
;各行為ごとの行為値(習得度)!-----------------------------------------------
[eval exp="f.StoreActEXP = [] "]
[eval exp="f.StoreActEXP.assignStruct(tf.ArrInit) "]
;png配列-----------------------------------------------
[eval exp="tf.WQpng = [] "]
[eval exp="tf.WQpng.assignStruct(tf.ArrInit) "]
;WMV配列-----------------------------------------------
[eval exp="tf.WQwmv = [] "]
[eval exp="tf.WQwmv.assignStruct(tf.ArrInit) "]
;!!!!!!!!!!!!!!!!各種呼吸を制御する!しかし、優先順位は-Kボイスの方が上になる。
;ボイスナンバーの宣言
[eval exp="tf.ActBreath = [] "]
;----各種ボイスの設定----------------------
;無音
[eval exp="tf.ActBreath[0] = ['O1WQ1','O1WQ2']"]
;二人で穏やかな呼吸
[eval exp="tf.ActBreath[1] = []"]
;二人で激しい呼吸
[eval exp="tf.ActBreath[2] = []"]
;習得値を計算し格納する配列--------------------------------------
[eval exp="tf.ExpArr = [0,0,0,0,0,0,0,0] "]
;イベントフラグ---------------------------------------------------------
;移行イベントのもの
[eval exp="f.EventArr = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
;ピロートークイベントのもの
[eval exp="f.PTEventArr = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
;射精・絶頂が溜まりすぎた時の配列
[eval exp="f.ArrActExtra = []"]
;指定射精の使用判定-----------------------------------------------------
;着衣・脱衣の宣言
[eval exp="f.TargetEX = []"]
;非挿入と挿入の宣言
[eval exp="f.TargetEX[0] = []"]
[eval exp="f.TargetEX[1] = []"]
;各種行為
[eval exp="f.TargetEX[0] = [0,0,0,0,0,0,0]"]
[eval exp="f.TargetEX[1] = [0,0,0,0,0,0,0]"]
;各指定射精が一度でも行われたかの判定。回想などに使う。
[eval exp="f.TargetEXFlag = [] "]
[eval exp="f.TargetEXFlag.assignStruct(f.TargetEX) "]
;自慰経験とか奉仕経験とかそういうパラメーターでのイベント判定だよ
[eval exp="f.EjacEvent = []"]
[eval exp="f.EjacEvent[0] = [0,0,0]"]
[eval exp="f.EjacEvent[1] = [0,0,0]"]
[eval exp="f.EjacEvent[2] = [0,0,0]"]
[eval exp="f.EjacEvent[3] = [0,0,0]"]
[eval exp="f.EjacEvent[4] = [0,0,0]"]
[eval exp="f.EjacEvent[5] = [0,0,0]"]
[eval exp="f.EjacEvent[6] = [0,0,0]"]
;ブランクイベント
[eval exp="f.EjacEvent[7] = [0,0,0]"]
[eval exp="f.EjacEvent[8] = [0,0,0]"]
[eval exp="f.EjacEvent[9] = [0,0,0]"]
[eval exp="f.OrgaEvent = []"]
[eval exp="f.OrgaEvent[0] = [0,0,0]"]
[eval exp="f.OrgaEvent[1] = [0,0,0]"]
[eval exp="f.OrgaEvent[2] = [0,0,0]"]
[eval exp="f.OrgaEvent[3] = [0,0,0]"]
[eval exp="f.OrgaEvent[4] = [0,0,0]"]
[eval exp="f.OrgaEvent[5] = [0,0,0]"]
[eval exp="f.OrgaEvent[6] = [0,0,0]"]
;ブランクイベント
[eval exp="f.EjacEvent[7] = [0,0,0]"]
[eval exp="f.EjacEvent[8] = [0,0,0]"]
[eval exp="f.EjacEvent[9] = [0,0,0]"]
;過去にイベント見たかのフラグ あくまで表示用でしかない プレイヤーがわかんなくなるからね
[eval exp="f.DoneEjacEvent=[]"]
[eval exp="f.DoneEjacEvent.assignStruct(f.EjacEvent)"]
[eval exp="f.DoneOrgaEvent=[]"]
[eval exp="f.DoneOrgaEvent.assignStruct(f.OrgaEvent)"]
;連続系
[eval exp="tf.ComboEjacEvent = [0,0,0,0,0]"]
[eval exp="tf.ComboOrgaEvent = [0,0,0,0,0]"]
[eval exp="tf.ComboEjacCount=0"]
[eval exp="tf.ComboOrgaCount=0"]
;警告イベント。ただしまだ湿潤しか無い ていうか湿潤専用かも
[eval exp="f.WarningEvent = [0,0,0,0,0,0,0,0,0,0]"]
;エンドレスのビフォア(ランダムに表示されるイベント)用
[eval exp="f.RandomEvent = []"]
;ブランクの配列。現在不使用だが、アプデで使う可能性を考えた
[eval exp="f.arr1 = []"]
[eval exp="f.arr2 = []"]
[eval exp="f.arr3 = []"]
[eval exp="f.arr4 = []"]
[eval exp="f.arr5 = []"]
;同時絶頂
[eval exp="f.EjacOrgaEvent = []"]
[eval exp="f.EjacOrgaEvent[0] = [0,0,0]"]
;以下2つは不使用
[eval exp="f.EjacOrgaEvent[1] = [0,0,0]"]
[eval exp="f.EjacOrgaEvent[2] = [0,0,0]"]
;ターンステータスの出現フラグ
[eval exp="f.lTurnStatusVis=0"]
;------------------------------------------------------------
;-------------------------------------------------------------------------
;各行為のアンロックを司る。dActCheckで使用。更に一覧で現在の習得値を見る為の計算にも使われる
;半裸・脱衣の宣言
[eval exp="tf.ActUnlock = [] "]
;非挿入と挿入の宣言
[eval exp="tf.ActUnlock[0] = []"]
[eval exp="tf.ActUnlock[1] = []"]
[eval exp="tf.ActUnlock[0][0] = []"]
[eval exp="tf.ActUnlock[0][1] = []"]
[eval exp="tf.ActUnlock[1][0] = []"]
[eval exp="tf.ActUnlock[1][1] = []"]
;キス
[eval exp="tf.ActUnlock[0][0][0] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][0][0] = [13,15,17]"]
;性器観察
[eval exp="tf.ActUnlock[0][0][1] = [5,8,10]"]
[eval exp="tf.ActUnlock[1][0][1] = [13,15,17]"]
;手を使う
[eval exp="tf.ActUnlock[0][0][2] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][0][2] = [13,16,18]"]
;搾精
[eval exp="tf.ActUnlock[0][0][12] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][0][12] = [10,13,16]"]
;フェラ
[eval exp="tf.ActUnlock[0][0][3] = [5,7,11]"]
[eval exp="tf.ActUnlock[1][0][3] = [13,15,18]"]
;クンニ
[eval exp="tf.ActUnlock[0][0][13] = [5,7,11]"]
[eval exp="tf.ActUnlock[1][0][13] = [13,15,18]"]
;胸
[eval exp="tf.ActUnlock[0][0][4] = [5,8,11]"]
[eval exp="tf.ActUnlock[1][0][4] = [13,16,19]"]
;愛撫
[eval exp="tf.ActUnlock[0][0][14] = [4,8,10]"]
[eval exp="tf.ActUnlock[1][0][14] = [13,16,19]"]
;自慰
[eval exp="tf.ActUnlock[0][0][5] = [5,8,11]"]
[eval exp="tf.ActUnlock[1][0][5] = [14,16,18]"]
;足使う
[eval exp="tf.ActUnlock[0][0][15] = [5,8,11]"]
[eval exp="tf.ActUnlock[1][0][15] = [14,16,18]"]
;道具
[eval exp="tf.ActUnlock[0][0][6] = [7,9,11]"]
[eval exp="tf.ActUnlock[1][0][6] = [13,15,18]"]
;逆道具
[eval exp="tf.ActUnlock[0][0][16] = [4,7,11]"]
[eval exp="tf.ActUnlock[1][0][16] = [8,11,16]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][10] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][10] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][11] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][11] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][20] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][20] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][21] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][21] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][22] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][22] = [0,0,0]"]
;タリア
[eval exp="tf.ActUnlock[0][0][30] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][30] = [0,0,0]"]
;正常位
[eval exp="tf.ActUnlock[0][1][0] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][0] = [12,15,17]"]
;挿入練習
[eval exp="tf.ActUnlock[0][1][1] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][1][1] = [13,16,18]"]
;騎乗
[eval exp="tf.ActUnlock[0][1][2] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][1][2] = [13,16,18]"]
;後背位
[eval exp="tf.ActUnlock[0][1][3] = [4,7,11]"]
[eval exp="tf.ActUnlock[1][1][3] = [13,16,19]"]
;強騎乗
[eval exp="tf.ActUnlock[0][1][4] = [5,8,12]"]
[eval exp="tf.ActUnlock[1][1][4] = [14,17,19]"]
;指挿入
[eval exp="tf.ActUnlock[0][1][5] = [5,8,10]"]
[eval exp="tf.ActUnlock[1][1][5] = [14,17,19]"]
;アナル
[eval exp="tf.ActUnlock[0][1][6] = [6,9,12]"]
[eval exp="tf.ActUnlock[1][1][6] = [15,18,20]"]
;ブランク
[eval exp="tf.ActUnlock[0][1][10] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][10] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][1][11] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][11] = [0,0,0]"]
;逆騎乗
[eval exp="tf.ActUnlock[0][1][12] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][12] = [10,13,16]"]
;逆後背
[eval exp="tf.ActUnlock[0][1][13] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][1][13] = [11,14,16]"]
;強後背
[eval exp="tf.ActUnlock[0][1][14] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][14] = [10,13,16]"]
;搾精
[eval exp="tf.ActUnlock[0][1][15] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][15] = [10,13,16]"]
;逆アナル
[eval exp="tf.ActUnlock[0][1][16] = [5,8,11]"]
[eval exp="tf.ActUnlock[1][1][16] = [12,15,18]"]
;ブランク
[eval exp="tf.ActUnlock[0][1][20] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][20] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][1][21] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][21] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][1][22] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][22] = [0,0,0]"]
;タリア
[eval exp="tf.ActUnlock[0][1][30] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][30] = [0,0,0]"]
;!!!!!!!!!!!!!!!ギャラリー制御を司るんにゃ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;初回起動のみ
[if exp="sf.syokaikidou != 1"]
[eval exp="sf.StoreGallery = [] "]
[eval exp="sf.StoreGallery.assignStruct(tf.ArrInit) "]
;EXのもの
[eval exp="sf.StoreEXGallery = [] "]
[eval exp="sf.StoreEXGallery.assignStruct(tf.ArrInit) "]
;思い出(シナリオ)の制御
[eval exp="sf.ScenarioGallery = [] "]
[eval exp="sf.ScenarioGallery[0] = [0,0,0,0,0,0,0,0,0,0] "]
[eval exp="sf.ScenarioGallery[1] = [0,0,0,0,0,0,0,0,0,0] "]
[eval exp="sf.ScenarioGallery[2] = [0,0,0,0,0,0,0,0,0,0] "]
[eval exp="sf.ScenarioGallery[3] = [0,0,0,0,0,0,0,0,0,0] "]
[eval exp="sf.ScenarioGallery[4] = [0,0,0,0,0,0,0,0,0,0] "]
[eval exp="sf.ScenarioGallery[5] = [0,0,0,0,0,0,0,0,0,0] "]
[eval exp="sf.ScenarioGallery[6] = [0,0,0,0,0,0,0,0,0,0] "]
[eval exp="sf.ScenarioGallery[7] = [0,0,0,0,0,0,0,0,0,0] "]
;--------------------------------------------
;指定射精のギャラリー判定
;半裸・脱衣の宣言
[eval exp="sf.TargetEXGallery = []"]
;非挿入と挿入の宣言
[eval exp="sf.TargetEXGallery[0] = [0,0,0,0,0,0,0]"]
[eval exp="sf.TargetEXGallery[1] = [0,0,0,0,0,0,0]"]
;スキンチェッカー。最終的にダミーがこいつに転写される
[eval exp="sf.SkinCheck = [] "]
;スキップムービー配列を分離させた
[eval exp="sf.SkipMovie = [] "]
[eval exp="sf.SkipPoint = [] "]
;スキンチェッカー!開放されたスキン(f.actはここに入り、ダミーを経由してSkinCheckに転写される
[eval exp="sf.SourceSkinCheck = [] "]
;;;[eval exp="sf.SourceSkinCheck.add('B1WQ2')"]
;;;[eval exp="sf.SourceSkinCheck.add('B1WQ3')"]
;;;[eval exp="sf.SourceSkinCheck.add('B1WQ5')"]
;;;[eval exp="sf.SourceSkinCheck.add('B3WQ2')"]
;;;[eval exp="sf.SourceSkinCheck.add('K1WQ5')"]
;;;;;;;;;[eval exp="sf.SourceSkinCheck.add('S1WQ1')"]挿入経験で入る
;;;[eval exp="sf.SourceSkinCheck.add('S1WQ2')"]
;;;[eval exp="sf.SourceSkinCheck.add('S1WQ4')"]
;;;[eval exp="sf.SourceSkinCheck.add('S3WQ1')"]
;;;[eval exp="sf.SourceSkinCheck.add('S3WQ6')"]
;BGMの最大値。NORMALによって増えていく無音+9曲で10が最大
[eval exp = "sf.BGMselMAX = 2"]
;シナリオセレクト
[eval exp="sf.ScenarioSelectVisible = 0"]
[eval exp="sf.ScenarioVisFinale = 0"]
[eval exp="sf.ScenarioVisEndless = 0"]
[eval exp="sf.ScenarioVisTaria = 0"]
[eval exp="sf.AllEjacNumTotal=0"]
[eval exp="sf.AllOrgaNumTotal=0"]
[eval exp="sf.AllEjacNum01=0"]
[eval exp="sf.AllEjacNum02=0"]
[eval exp="sf.AllEjacNum03=0"]
[eval exp="sf.AllEjacNum04=0"]
[eval exp="sf.AllEjacNum05=0"]
[eval exp="sf.AllOrgaNum01=0"]
[eval exp="sf.AllOrgaNum02=0"]
[eval exp="sf.AllOrgaNum03=0"]
[eval exp="sf.AllOrgaNum04=0"]
[eval exp="sf.AllOrgaNum05=0"]
[eval exp="sf.AllOrgaNum06=0"]
[endif]
;スキンの系統別オンオフ
[eval exp="f.SkinSwitch = [1,1,1,1,1,1,1,1.1]"]
;スキン数チェック
[eval exp="tf.SkinNum = [0,0,0,0,0,0,0,0.0]"]
;タゲ射数チェック
[eval exp="tf.TargetNum = 0"]
;スキンチェックのオンオフの為に設定されるダミー。
[eval exp="tf.DummySkinCheck = [] "]
;更にデバッグコマンドの関係上、スキンチェックの表示の為にもう一個必要になる…
[eval exp="tf.CheatSkinList = [] "]
;実際にゲーム内で使用されるチェッカー。ダミーから内容が転写される詳しくはこいつをGrep検索して
[eval exp="tf.SkinCheck = [] "]
;累計値記録用
;[eval exp="f.AllLove=0"]
;[eval exp="f.AllABLove=0"]
[eval exp="f.AllEjacNumTotal=0"]
[eval exp="f.AllOrgaNumTotal=0"]
[eval exp="f.AllEjacNum01=0"]
[eval exp="f.AllEjacNum02=0"]
[eval exp="f.AllEjacNum03=0"]
[eval exp="f.AllEjacNum04=0"]
[eval exp="f.AllEjacNum05=0"]
[eval exp="f.AllOrgaNum01=0"]
[eval exp="f.AllOrgaNum02=0"]
[eval exp="f.AllOrgaNum03=0"]
[eval exp="f.AllOrgaNum04=0"]
[eval exp="f.AllOrgaNum05=0"]
[eval exp="f.AllOrgaNum06=0"]
;最大スコア
[eval exp="f.MAX_EXP_Total=0"]
[eval exp="f.MAX_EXP_Endless=0"]
[eval exp="f.MAX_Love=0"]
[eval exp="f.MAX_ABLove=0"]
;レコード系
[eval exp="f.MAX_RecEXNumDay = 0"]
[eval exp="f.MAX_RecEjacNumDay = 0"]
[eval exp="f.MAX_RecOrgaNumDay = 0"]
[eval exp="f.MAX_RecInsideNumDay = 0"]
[eval exp="f.MAX_RecComboEjac = 0"]
[eval exp="f.MAX_RecComboOrga = 0"]
;TLVの最大値を記録
[eval exp="f.MAX_C_TLV=0"]
[eval exp="f.MAX_V_TLV=0"]
[eval exp="f.MAX_I_TLV=0"]
[eval exp="f.MAX_S_TLV=0"]
;最低保障系の定義スピード1の時にこれを下回る時、内部ゲームスピードを強制的に上昇させる
[eval exp="tf.GSPerSec= 50"]
;1が初期値
[eval exp="tf.VariableGS = 1"]
;;!!!!!!!!!!!!!!!!!!!各行為ごとの射精値!-----------------------------------------------
;半裸・脱衣の宣言
[eval exp="f.StoreActSP = [] "]
;非挿入と挿入の宣言
[eval exp="f.StoreActSP[0] = []"]
[eval exp="f.StoreActSP[1] = []"]
;各種行為の宣言
[eval exp="f.StoreActSP[0][0] = []"]
[eval exp="f.StoreActSP[0][1] = []"]
[eval exp="f.StoreActSP[1][0] = []"]
[eval exp="f.StoreActSP[1][1] = []"]
[eval exp="f.StoreActSP[0][0] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
[eval exp="f.StoreActSP[0][1] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
[eval exp="f.StoreActSP[1][0] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
[eval exp="f.StoreActSP[1][1] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"]
;----------------------------------------------------------------------------------------------
;判定を行う為のリスト とても便利--------------------
;カード用に、累計回数を記録する。
;愛情
[eval exp="f.Love = 100"]
;悪い子
[eval exp="f.ABLove = 0"]
;射精の回数リスト ejaculationは射精の意味
[eval exp="f.EjacNumTotal = 0"]
;[膣内射精]を描画
[eval exp="f.EjacNum01 = 0"]
;[体に射精]を描画
[eval exp="f.EjacNum02 = 0"]
;[顔に射精]を描画
[eval exp="f.EjacNum03 = 0"]
;[口内射精]を描画
[eval exp="f.EjacNum04 = 0"]
;[搾精]を描画
[eval exp="f.EjacNum05 = 0"]
;絶頂のリスト orgaはオーガズムのorg
[eval exp="f.OrgaNumTotal = 0"]
;[膣内絶頂]を描画
[eval exp="f.OrgaNum01 = 0"]
;[クリトリス絶頂]を描画
[eval exp="f.OrgaNum02 = 0"]
;[奉仕経験]を描画
[eval exp="f.OrgaNum03 = 0"]
;[おっぱい経験]を描画
[eval exp="f.OrgaNum04 = 0"]
;[自慰経験]を描画
[eval exp="f.OrgaNum05 = 0"]
;[誘惑]を描画
[eval exp="f.OrgaNum06 = 0"]
;通常とダメージで著しくボイスが変化する物のみが格納される。この配列にある時、ダメージになった瞬間にボイスが切り替わる
[eval exp="tf.arrDvoice = ['S1WQ2A']"]
;挿入するものがまとめられる
[eval exp="tf.arrInsert = ['S1WQ1','S1WQ2','S1WQ3','S1WQ4','S1WQ5','S3WQ6','S3WQ5','S3WQ2','S3WQ3','S3WQ1','S3WQ4','K1WQ1','K1WQ2','K1WQ3','K1WQ4','K1WQ5','K1WQ8','K7WQ1','K7WQ4','B1WQ2','B1WQ3','B1WQ4','B3WQ5','B1WQ6','B7WQ1','B7WQ4','B3WQ2','B3WQ3','B2WQ2','B1WQ5','B3WQ6','K2WQ2','K3WQ1','K3WQ2','K1WQ9','S6WQ1','S6WQ2','S6WQ5','S6WQ3','S6WQ4','S6WQ6','M2WQ6']"]
;観察系のみまとめられるBとかDとか色々あるのでこれ使わないと駄目 ダメージ判定に使用される
[eval exp="tf.arrMclick = ['H1WQ1','H1WQ2','H1WQ3','H1WQ4','H1WQ6','B2WQ1','D2WQ2','H3WQ1','H3WQ2','K7WQ5','T1WQ1','T1WQ2','T1WQ3','T2WQ1','T2WQ2','T2WQ3','T2WQ4']"]
;ドラッグ系のみまとめられる。非常に重要 overrideでも使用されている
[eval exp="tf.arrDrag = ['D1WQ2','D1WQ1','D1WQ3','D1WQ4','D7WQ1','D7WQ2','F1WQ7','F1WQ8','B7WQ1','B7WQ4','D3WQ1','D8WQ1','D8WQ7']"]
;スキンマーク用
[eval exp="tf.arrSkinVis = ['F1WQ1','H1WQ2','F2WQ1','F2WQ2','M4WQ5','M4WQ6','M2WQ1','M2WQ2','D7WQ2','B8WQ1']"]
[eval exp="tf.arrSkinVis_Part = ['F1WQ1','H1WQ2','F2WQ1','F2WQ2','M4WQ5','M4WQ6','M2WQ1','M2WQ2','D7WQ2','B8WQ1']"]
;強制的にクリックエフェクトを出したい行為のみまとめられる。クンニ・ダウンか。
;M5WQ1は3章OP。消さないで
;[eval exp="tf.arrAnotherClick = ['M5WQ1']"]
[eval exp="tf.arrAnotherClick = ['M5WQ1']"]
;クンニにのみ適用される、インクリとクリックの複合みたいなのがある
;隠しに近いつもりだったけど良すぎたので導入しよう
;ちなみにフェラと愛撫のLにも適用される わかりにくいかと思ったが良さを優先する
[eval exp="tf.arrAnotherMovie = ['M5WQ2','M4WQ5','M4WQ1','M4WQ3','M4WQ6','M4WQ4','F2WQ5','M3WQ7']"]
;更に…それらの中で眠り姫主体の物 ごめんわかりにくすぎる~~
[eval exp="tf.arrAnotherMovieNM = ['M5WQ2','M4WQ5','M4WQ1','M4WQ3','M4WQ6','M4WQ4']"]
;スキン時にtalkを出したくない物
[eval exp="tf.arrNoTalk = ['B1WQ6','D1WQ3','D8WQ1','F1WQ2','F1WQ3','F2WQ3','K1WQ3','M1WQ3','M6WQ1','O1WQ1','O1WQ2','O1WQ4','S3WQ2','S6WQ3']"]
;体験版時にレベルを上昇させないもの
[eval exp="tf.arrTrialNoLVUP = ['M1WQ2','H1WQ1','F1WQ2','H3WQ1','F2WQ2','M5WQ2','O1WQ1','F6WQ1','D1WQ2','S1WQ2','K1WQ1','K7WQ5','B1WQ1','H3WQ2','O8WQ1']"]
;スキップさせたくない動画
[eval exp="tf.arrNoSkip = ['N1WQ1','ETC_Loop','TP_流れ星']"]
;アブノーマル系
[eval exp="tf.arrABnormal = ['B8WQ1','D8WQ1','D8WQ9','B8WQ2','K8WQ1','S8WQ1','D8WQ8','D8WQ7']"]
;ンストップ系 EX後に暴走する奴、またはイベントを出したくないやつ
[eval exp="tf.arrNonStop = ['EXK1WQ5','EXF2WQ4']"]
;射精する物
[eval exp="tf.arrEjac = ['B2WQ1','F1WQ1','F1WQ2','F1WQ3','F1WQ4','F1WQ5','F1WQ6','F2WQ1','F2WQ2','F2WQ3','F2WQ4','F2WQ5','F6WQ1','F6WQ2','F6WQ3','F6WQ4','F6WQ5','F6WQ6','M6WQ1','M3WQ3','M3WQ4','M3WQ2','M3WQ7','M3WQ6','D7WQ1','D7WQ2','S1WQ1','S1WQ2','S4WQ1','S3WQ5','S3WQ3','K1WQ1','K1WQ2','K1WQ3','B1WQ1','B1WQ2','H3WQ2','B3WQ1','B3WQ2','K2WQ2','K3WQ1','K6WQ1','F1WQ7','F1WQ8','D8WQ8','D8WQ7','K5WQ1']"]
;絶頂する物
[eval exp="tf.arrOrg = ['M1WQ3','H1WQ1','H1WQ3','H1WQ4','H3WQ1','F7WQ1','M7WQ1','M5WQ2','M4WQ5','M4WQ1','M4WQ3','M4WQ6','M4WQ4','O1WQ1','O1WQ2','O1WQ3','M2WQ1','M2WQ2','M2WQ3','M2WQ5','M2WQ4','M2WQ6','D1WQ2','D1WQ1','D3WQ1','D1WQ3','D1WQ4','D2WQ2','K7WQ5','S6WQ1','S6WQ2','S6WQ5','S6WQ3','S6WQ4','S6WQ6','B8WQ1','D8WQ1','D8WQ9']"]
;射精・絶頂両方
[eval exp="tf.arrBoth = ['M1WQ5','M1WQ6','H1WQ6','F4WQ1','O1WQ4','O1WQ5','O4WQ2','S1WQ3','S1WQ4','S1WQ5','S3WQ6','S3WQ2','S3WQ1','S3WQ4','K1WQ4','K1WQ5','K1WQ8','K7WQ1','K7WQ4','B1WQ3','B1WQ4','B3WQ5','B1WQ6','B7WQ1','B7WQ4','B3WQ3','B2WQ2','B1WQ5','B3WQ6','K3WQ2','K1WQ9','B8WQ2','K8WQ1','S8WQ1']"]
;特殊な物射精または絶頂がたまるとEX
[eval exp="tf.arrOther = ['M1WQ1','M1WQ2','M1WQ4','H1WQ2']"]
;サブ行為。射精しないので感度倍率の表記を変える必要が出てくる
[eval exp="tf.arrSub = ['H3WQ1','H3WQ2','K7WQ5']"]
;表記的に射精と絶頂を分けたい時
[eval exp="tf.arrText = ['M1WQ1','M1WQ2','M1WQ4','H1WQ2']"]
;最大時の時だけにイベントが発生するアクションの数々 すっごい細かいけどしょうがないね
[eval exp="tf.arrMaxedEventAct = ['F2WQ2','M4WQ5','M4WQ6','M2WQ1','D7WQ2','B8WQ1']"]
;眠り姫がダウンする
[eval exp="tf.arrNMDown = ['H3WQ1','H3WQ2','K7WQ5','H1WQ1','B2WQ1','H1WQ3','H1WQ4','F7WQ1','M7WQ1','M5WQ2','M4WQ5','M4WQ1','M4WQ3','M4WQ6','M4WQ4','O1WQ1','O1WQ2','O1WQ3','M2WQ1','M2WQ2','M2WQ3','M2WQ5','M2WQ4','M2WQ6','D1WQ2','D1WQ1','D3WQ1','D1WQ3','D1WQ4','D2WQ2','K7WQ1','K7WQ4','B1WQ1','B1WQ2','B1WQ3','B1WQ4','B3WQ5','B1WQ6','B3WQ1','B3WQ2','B3WQ3','B2WQ2','B1WQ5','B3WQ6','S6WQ1','S6WQ2','S6WQ5','S6WQ3','S6WQ4','S6WQ6','B8WQ1','D8WQ1','D8WQ9','B8WQ2','K8WQ1','S8WQ1']"]
;迷子くんがダウンする
[eval exp="tf.arrSQDown = ['F1WQ1','F1WQ2','F1WQ3','F1WQ4','F1WQ5','F1WQ6','F2WQ1','F2WQ2','F2WQ3','F2WQ4','F2WQ5','F6WQ1','F6WQ2','F6WQ3','F6WQ4','F6WQ5','F6WQ6','M6WQ1','M3WQ3','M3WQ4','M3WQ2','M3WQ7','M3WQ6','D7WQ1','D7WQ2','K1WQ1','K1WQ2','K1WQ3','K1WQ4','K1WQ5','K1WQ8','B7WQ1','B7WQ4','K2WQ2','K3WQ1','K6WQ1','K3WQ2','K5WQ1','K1WQ9','F1WQ8','F1WQ7','D8WQ8','D8WQ7']"]
;少女のみのモードにしたとき、リップシンクをさせない物 迷子くん専用 A=1 B=2 C=0
[eval exp="tf.arrNoLipSync = ['F1WQ10']"]
;以下は変数宣言。着衣か全裸か。0で着衣
[eval exp="tf.NudeType = 0 "]
;非挿入か挿入か。0で非挿入、1で挿入
[eval exp="tf.InsertType = 0 "]
;行為の種類。0がキス、1が性器観察 2022年6月3日
[eval exp="tf.ActType = 0 "]
;例。この場合 全裸・挿入・性器観察のLVに2を代入する
;[eval exp="f.StoreLV[1][1][1] = 2"]
*アクション設定
;行為の設定を行う
[iscript]
//アクションなどはここで設定する!!!
//行為の並び替えもここ ちょっと並び替えは面倒だが
//;01着衣・脱衣_02非挿入と挿入_03各種行為の順
//挿入じゃない系=========================================================
//01_キス
tf.WQpng[0][0][0][0] = '01_キス1.png' , tf.WQwmv[0][0][0][0] = 'M1WQ1';
tf.WQpng[0][0][0][1] = '01_キス2.png' , tf.WQwmv[0][0][0][1] = 'M1WQ2';
tf.WQpng[0][0][0][2] = '01_キス3.png' , tf.WQwmv[0][0][0][2] = 'M1WQ3';
tf.WQpng[1][0][0][0] = '01_キス4.png' , tf.WQwmv[1][0][0][0] = 'M1WQ4';
tf.WQpng[1][0][0][1] = '01_キス5.png' , tf.WQwmv[1][0][0][1] = 'M1WQ5';
tf.WQpng[1][0][0][2] = '01_キス6.png' , tf.WQwmv[1][0][0][2] = 'M1WQ6';
//01_性器観察
tf.WQpng[0][0][1][0] = '01_性器観察1.png' , tf.WQwmv[0][0][1][0] = 'H1WQ1';
tf.WQpng[0][0][1][1] = '01_性器観察2.png' , tf.WQwmv[0][0][1][1] = 'H1WQ2';
tf.WQpng[0][0][1][2] = '01_性器観察3.png' , tf.WQwmv[0][0][1][2] = 'B2WQ1';
tf.WQpng[1][0][1][0] = '01_性器観察4.png' , tf.WQwmv[1][0][1][0] = 'H1WQ3';
tf.WQpng[1][0][1][1] = '01_性器観察5.png' , tf.WQwmv[1][0][1][1] = 'H1WQ4';
tf.WQpng[1][0][1][2] = '01_性器観察6.png' , tf.WQwmv[1][0][1][2] = 'H1WQ6';
//02_手を使う
tf.WQpng[0][0][2][0] = '02_手を使う1.png' , tf.WQwmv[0][0][2][0] = 'F1WQ1';
tf.WQpng[0][0][2][1] = '02_手を使う2.png' , tf.WQwmv[0][0][2][1] = 'F1WQ2';
tf.WQpng[0][0][2][2] = '02_手を使う3.png' , tf.WQwmv[0][0][2][2] = 'F1WQ3';
tf.WQpng[1][0][2][0] = '02_手を使う4.png' , tf.WQwmv[1][0][2][0] = 'F1WQ4';
tf.WQpng[1][0][2][1] = '02_手を使う5.png' , tf.WQwmv[1][0][2][1] = 'F1WQ5';
tf.WQpng[1][0][2][2] = '02_手を使う6.png' , tf.WQwmv[1][0][2][2] = 'F1WQ6';
//02_秘部責める
tf.WQpng[0][0][12][0] = '0S_くすぐる.png' , tf.WQwmv[0][0][12][0] = 'H3WQ1';
tf.WQpng[0][0][12][1] = 'BlankButton.png' , tf.WQwmv[0][0][12][1] = 'F7WQ1';
tf.WQpng[0][0][12][2] = '02_秘部触る1.png' , tf.WQwmv[0][0][12][2] = 'F7WQ1';
tf.WQpng[1][0][12][0] = 'BlankButton.png' , tf.WQwmv[1][0][12][0] = 'M7WQ1';
tf.WQpng[1][0][12][1] = 'BlankButton.png' , tf.WQwmv[1][0][12][1] = 'M7WQ1';
tf.WQpng[1][0][12][2] = '02_秘部触る4.png' , tf.WQwmv[1][0][12][2] = 'M7WQ1';
//03_フェラ
tf.WQpng[0][0][3][0] = '03_フェラ1.png' , tf.WQwmv[0][0][3][0] = 'F2WQ1';
tf.WQpng[0][0][3][1] = '03_フェラ2.png' , tf.WQwmv[0][0][3][1] = 'F2WQ2';
tf.WQpng[0][0][3][2] = '03_フェラ3.png' , tf.WQwmv[0][0][3][2] = 'F2WQ3';
tf.WQpng[1][0][3][0] = '03_フェラ4.png' , tf.WQwmv[1][0][3][0] = 'F2WQ4';
tf.WQpng[1][0][3][1] = '03_フェラ5.png' , tf.WQwmv[1][0][3][1] = 'F2WQ5';
tf.WQpng[1][0][3][2] = '03_フェラ6.png' , tf.WQwmv[1][0][3][2] = 'F4WQ1';
//03_クンニ
tf.WQpng[0][0][13][0] = '03_クンニ1.png' , tf.WQwmv[0][0][13][0] = 'M5WQ2';
tf.WQpng[0][0][13][1] = '03_クンニ2.png' , tf.WQwmv[0][0][13][1] = 'M4WQ5';
tf.WQpng[0][0][13][2] = '03_クンニ3.png' , tf.WQwmv[0][0][13][2] = 'M4WQ1';
tf.WQpng[1][0][13][0] = '03_クンニ4.png' , tf.WQwmv[1][0][13][0] = 'M4WQ3';
tf.WQpng[1][0][13][1] = '03_クンニ5.png' , tf.WQwmv[1][0][13][1] = 'M4WQ6';
tf.WQpng[1][0][13][2] = '03_クンニ6.png' , tf.WQwmv[1][0][13][2] = 'M4WQ4';
//04_胸を触る
tf.WQpng[0][0][4][0] = '05_胸を触る1.png' , tf.WQwmv[0][0][4][0] = 'M2WQ1';
tf.WQpng[0][0][4][1] = '05_胸を触る2.png' , tf.WQwmv[0][0][4][1] = 'M2WQ2';
tf.WQpng[0][0][4][2] = '05_胸を触る3.png' , tf.WQwmv[0][0][4][2] = 'M2WQ3';
tf.WQpng[1][0][4][0] = '05_胸を触る4.png' , tf.WQwmv[1][0][4][0] = 'M2WQ5';
tf.WQpng[1][0][4][1] = '05_胸を触る5.png' , tf.WQwmv[1][0][4][1] = 'M2WQ4';
tf.WQpng[1][0][4][2] = '05_胸を触る6.png' , tf.WQwmv[1][0][4][2] = 'M2WQ6';
//04_愛撫
tf.WQpng[0][0][14][0] = '05_愛撫1.png' , tf.WQwmv[0][0][14][0] = 'M6WQ1';
tf.WQpng[0][0][14][1] = '05_愛撫2.png' , tf.WQwmv[0][0][14][1] = 'M3WQ3';
tf.WQpng[0][0][14][2] = '05_愛撫3.png' , tf.WQwmv[0][0][14][2] = 'M3WQ4';
tf.WQpng[1][0][14][0] = '05_愛撫4.png' , tf.WQwmv[1][0][14][0] = 'M3WQ2';
tf.WQpng[1][0][14][1] = '05_愛撫5.png' , tf.WQwmv[1][0][14][1] = 'M3WQ7';
tf.WQpng[1][0][14][2] = '05_愛撫6.png' , tf.WQwmv[1][0][14][2] = 'M3WQ6';
//05_自慰
tf.WQpng[0][0][5][0] = '04_自慰1.png' , tf.WQwmv[0][0][5][0] = 'O1WQ1';
tf.WQpng[0][0][5][1] = '04_自慰2.png' , tf.WQwmv[0][0][5][1] = 'O1WQ2';
tf.WQpng[0][0][5][2] = '04_自慰3.png' , tf.WQwmv[0][0][5][2] = 'O1WQ3';
tf.WQpng[1][0][5][0] = '04_自慰4.png' , tf.WQwmv[1][0][5][0] = 'O1WQ4';
tf.WQpng[1][0][5][1] = '04_自慰5.png' , tf.WQwmv[1][0][5][1] = 'O1WQ5';
tf.WQpng[1][0][5][2] = '04_自慰6.png' , tf.WQwmv[1][0][5][2] = 'O4WQ2';
//05_足を使う
tf.WQpng[0][0][15][0] = '04_足を使う1.png' , tf.WQwmv[0][0][15][0] = 'F6WQ1';
tf.WQpng[0][0][15][1] = '04_足を使う2.png' , tf.WQwmv[0][0][15][1] = 'F6WQ2';
tf.WQpng[0][0][15][2] = '04_足を使う3.png' , tf.WQwmv[0][0][15][2] = 'F6WQ3';
tf.WQpng[1][0][15][0] = '04_足を使う4.png' , tf.WQwmv[1][0][15][0] = 'F6WQ4';
tf.WQpng[1][0][15][1] = '04_足を使う5.png' , tf.WQwmv[1][0][15][1] = 'F6WQ5';
tf.WQpng[1][0][15][2] = '04_足を使う6.png' , tf.WQwmv[1][0][15][2] = 'F6WQ6';
//06_道具使う
tf.WQpng[0][0][6][0] = '06_道具使う1.png' , tf.WQwmv[0][0][6][0] = 'D1WQ2';
tf.WQpng[0][0][6][1] = '06_道具使う2.png' , tf.WQwmv[0][0][6][1] = 'D1WQ1';
tf.WQpng[0][0][6][2] = '06_道具使う3.png' , tf.WQwmv[0][0][6][2] = 'D3WQ1';
tf.WQpng[1][0][6][0] = '06_道具使う4.png' , tf.WQwmv[1][0][6][0] = 'D1WQ3';
tf.WQpng[1][0][6][1] = '06_道具使う5.png' , tf.WQwmv[1][0][6][1] = 'D1WQ4';
tf.WQpng[1][0][6][2] = '06_道具使う6.png' , tf.WQwmv[1][0][6][2] = 'D2WQ2';
//06_逆道具
tf.WQpng[0][0][16][0] = 'BlankButton.png' , tf.WQwmv[0][0][16][0] = 'D7WQ1';
tf.WQpng[0][0][16][1] = 'BlankButton.png' , tf.WQwmv[0][0][16][1] = 'D7WQ1';
tf.WQpng[0][0][16][2] = '06_逆道具1.png' , tf.WQwmv[0][0][16][2] = 'D7WQ1';
tf.WQpng[1][0][16][0] = 'BlankButton.png' , tf.WQwmv[1][0][16][0] = 'D7WQ2';
tf.WQpng[1][0][16][1] = 'BlankButton.png' , tf.WQwmv[1][0][16][1] = 'D7WQ2';
tf.WQpng[1][0][16][2] = '06_逆道具4.png' , tf.WQwmv[1][0][16][2] = 'D7WQ2';
//挿入系=========================================================
//A01_正常位
tf.WQpng[0][1][0][0] = '07_正常位1.png' , tf.WQwmv[0][1][0][0] = 'S1WQ1';
tf.WQpng[0][1][0][1] = '07_正常位2.png' , tf.WQwmv[0][1][0][1] = 'S1WQ2';
tf.WQpng[0][1][0][2] = '07_正常位3.png' , tf.WQwmv[0][1][0][2] = 'S1WQ3';
tf.WQpng[1][1][0][0] = '07_正常位4.png' , tf.WQwmv[1][1][0][0] = 'S1WQ4';
tf.WQpng[1][1][0][1] = '07_正常位5.png' , tf.WQwmv[1][1][0][1] = 'S1WQ5';
tf.WQpng[1][1][0][2] = '07_正常位6.png' , tf.WQwmv[1][1][0][2] = 'S3WQ6';
//A07_腰を振る 正常位系のクリッカブル
tf.WQpng[0][1][1][0] = '07_腰を振る1.png' , tf.WQwmv[0][1][1][0] = 'S4WQ1';
tf.WQpng[0][1][1][1] = '07_腰を振る2.png' , tf.WQwmv[0][1][1][1] = 'S3WQ5';
tf.WQpng[0][1][1][2] = '07_腰を振る3.png' , tf.WQwmv[0][1][1][2] = 'S3WQ2';
tf.WQpng[1][1][1][0] = '07_腰を振る4.png' , tf.WQwmv[1][1][1][0] = 'S3WQ3';
tf.WQpng[1][1][1][1] = '07_腰を振る5.png' , tf.WQwmv[1][1][1][1] = 'S3WQ1';
tf.WQpng[1][1][1][2] = '07_腰を振る6.png' , tf.WQwmv[1][1][1][2] = 'S3WQ4';
//B02_騎乗位
tf.WQpng[0][1][2][0] = '08_騎乗位1.png' , tf.WQwmv[0][1][2][0] = 'K1WQ1';
tf.WQpng[0][1][2][1] = '08_騎乗位2.png' , tf.WQwmv[0][1][2][1] = 'K1WQ2';
tf.WQpng[0][1][2][2] = '08_騎乗位3.png' , tf.WQwmv[0][1][2][2] = 'K1WQ3';
tf.WQpng[1][1][2][0] = '08_騎乗位4.png' , tf.WQwmv[1][1][2][0] = 'K1WQ4';
tf.WQpng[1][1][2][1] = '08_騎乗位5.png' , tf.WQwmv[1][1][2][1] = 'K1WQ5';
tf.WQpng[1][1][2][2] = '08_騎乗位6.png' , tf.WQwmv[1][1][2][2] = 'K1WQ8';
//B02_逆騎乗
tf.WQpng[0][1][12][0] = '0S_騎乗休憩.png' , tf.WQwmv[0][1][12][0] = 'K7WQ5';
tf.WQpng[0][1][12][1] = 'BlankButton.png' , tf.WQwmv[0][1][12][1] = 'K7WQ1';
tf.WQpng[0][1][12][2] = '08_逆騎乗1.png' , tf.WQwmv[0][1][12][2] = 'K7WQ1';
tf.WQpng[1][1][12][0] = 'BlankButton.png' , tf.WQwmv[1][1][12][0] = 'K7WQ4';
tf.WQpng[1][1][12][1] = 'BlankButton.png' , tf.WQwmv[1][1][12][1] = 'K7WQ4';
tf.WQpng[1][1][12][2] = '08_逆騎乗4.png' , tf.WQwmv[1][1][12][2] = 'K7WQ4';
//C03_後背位
tf.WQpng[0][1][3][0] = '09_後背位1.png' , tf.WQwmv[0][1][3][0] = 'B1WQ1';
tf.WQpng[0][1][3][1] = '09_後背位2.png' , tf.WQwmv[0][1][3][1] = 'B1WQ2';
tf.WQpng[0][1][3][2] = '09_後背位3.png' , tf.WQwmv[0][1][3][2] = 'B1WQ3';
tf.WQpng[1][1][3][0] = '09_後背位4.png' , tf.WQwmv[1][1][3][0] = 'B1WQ4';
tf.WQpng[1][1][3][1] = '09_後背位5.png' , tf.WQwmv[1][1][3][1] = 'B3WQ5';
tf.WQpng[1][1][3][2] = '09_後背位6.png' , tf.WQwmv[1][1][3][2] = 'B1WQ6';
//C03_逆後背
tf.WQpng[0][1][13][0] = '0S_後背誘惑.png', tf.WQwmv[0][1][13][0] = 'H3WQ2';
tf.WQpng[0][1][13][1] = 'BlankButton.png' , tf.WQwmv[0][1][13][1] = 'B7WQ1';
tf.WQpng[0][1][13][2] = '09_逆後背1.png' , tf.WQwmv[0][1][13][2] = 'B7WQ1';
tf.WQpng[1][1][13][0] = 'BlankButton.png' , tf.WQwmv[1][1][13][0] = 'B7WQ4';
tf.WQpng[1][1][13][1] = 'BlankButton.png' , tf.WQwmv[1][1][13][1] = 'B7WQ4';
tf.WQpng[1][1][13][2] = '09_逆後背4.png' , tf.WQwmv[1][1][13][2] = 'B7WQ4';
//D04_強騎乗
tf.WQpng[0][1][4][0] = '10_強騎乗1.png' , tf.WQwmv[0][1][4][0] = 'K2WQ2';
tf.WQpng[0][1][4][1] = '10_強騎乗2.png' , tf.WQwmv[0][1][4][1] = 'K3WQ1';
tf.WQpng[0][1][4][2] = '10_強騎乗3.png' , tf.WQwmv[0][1][4][2] = 'K6WQ1';
tf.WQpng[1][1][4][0] = '10_強騎乗4.png' , tf.WQwmv[1][1][4][0] = 'K3WQ2';
tf.WQpng[1][1][4][1] = '10_強騎乗5.png' , tf.WQwmv[1][1][4][1] = 'K5WQ1';
tf.WQpng[1][1][4][2] = '10_強騎乗6.png' , tf.WQwmv[1][1][4][2] = 'K1WQ9';
//D04_強後背
tf.WQpng[0][1][14][0] = '10_強後背1.png' , tf.WQwmv[0][1][14][0] = 'B3WQ1';
tf.WQpng[0][1][14][1] = '10_強後背2.png' , tf.WQwmv[0][1][14][1] = 'B3WQ2';
tf.WQpng[0][1][14][2] = '10_強後背3.png' , tf.WQwmv[0][1][14][2] = 'B3WQ3';
tf.WQpng[1][1][14][0] = '10_強後背4.png' , tf.WQwmv[1][1][14][0] = 'B2WQ2';
tf.WQpng[1][1][14][1] = '10_強後背5.png' , tf.WQwmv[1][1][14][1] = 'B1WQ5';
tf.WQpng[1][1][14][2] = '10_強後背6.png' , tf.WQwmv[1][1][14][2] = 'B3WQ6';
//E05_指挿入
tf.WQpng[0][1][5][0] = '11_指挿入1.png' , tf.WQwmv[0][1][5][0] = 'S6WQ1';
tf.WQpng[0][1][5][1] = '11_指挿入2.png' , tf.WQwmv[0][1][5][1] = 'S6WQ2';
tf.WQpng[0][1][5][2] = '11_指挿入3.png' , tf.WQwmv[0][1][5][2] = 'S6WQ5';
tf.WQpng[1][1][5][0] = '11_指挿入4.png' , tf.WQwmv[1][1][5][0] = 'S6WQ3';
tf.WQpng[1][1][5][1] = '11_指挿入5.png' , tf.WQwmv[1][1][5][1] = 'S6WQ4';
tf.WQpng[1][1][5][2] = '11_指挿入6.png' , tf.WQwmv[1][1][5][2] = 'S6WQ6';
//E05_搾精
tf.WQpng[0][1][15][0] = 'BlankButton.png' , tf.WQwmv[0][1][15][0] = 'F1WQ8';
tf.WQpng[0][1][15][1] = 'BlankButton.png' , tf.WQwmv[0][1][15][1] = 'F1WQ8';
tf.WQpng[0][1][15][2] = '11_搾精1.png' , tf.WQwmv[0][1][15][2] = 'F1WQ8';
tf.WQpng[1][1][15][0] = 'BlankButton.png' , tf.WQwmv[1][1][15][0] = 'F1WQ7';
tf.WQpng[1][1][15][1] = 'BlankButton.png' , tf.WQwmv[1][1][15][1] = 'F1WQ7';
tf.WQpng[1][1][15][2] = '11_搾精4.png' , tf.WQwmv[1][1][15][2] = 'F1WQ7';
//F06_アナル
tf.WQpng[0][1][6][0] = '12_アナル1.png' , tf.WQwmv[0][1][6][0] = 'B8WQ1';
tf.WQpng[0][1][6][1] = '12_アナル2.png' , tf.WQwmv[0][1][6][1] = 'D8WQ1';
tf.WQpng[0][1][6][2] = '12_アナル3.png' , tf.WQwmv[0][1][6][2] = 'D8WQ9';
tf.WQpng[1][1][6][0] = '12_アナル4.png' , tf.WQwmv[1][1][6][0] = 'B8WQ2';
tf.WQpng[1][1][6][1] = '12_アナル5.png' , tf.WQwmv[1][1][6][1] = 'K8WQ1';
tf.WQpng[1][1][6][2] = '12_アナル6.png' , tf.WQwmv[1][1][6][2] = 'S8WQ1';
//F06_逆アナル
tf.WQpng[0][1][16][0] = 'BlankButton.png' , tf.WQwmv[0][1][16][0] = 'D8WQ8';
tf.WQpng[0][1][16][1] = 'BlankButton.png' , tf.WQwmv[0][1][16][1] = 'D8WQ8';
tf.WQpng[0][1][16][2] = '12_逆アナル1.png' , tf.WQwmv[0][1][16][2] = 'D8WQ8';
tf.WQpng[1][1][16][0] = 'BlankButton.png' , tf.WQwmv[1][1][16][0] = 'D8WQ7';
tf.WQpng[1][1][16][1] = 'BlankButton.png' , tf.WQwmv[1][1][16][1] = 'D8WQ7';
tf.WQpng[1][1][16][2] = '12_逆アナル4.png' , tf.WQwmv[1][1][16][2] = 'D8WQ7';
//休憩などその他の行為=========================================================
//Q_休憩
tf.WQpng[0][0][20][0] = '13_休憩1.png' , tf.WQwmv[0][0][20][0] = 'O8WQ1';
tf.WQpng[0][0][20][1] = '13_休憩2.png' , tf.WQwmv[0][0][20][1] = 'O8WQ2';
tf.WQpng[0][0][20][2] = '13_休憩3.png' , tf.WQwmv[0][0][20][2] = 'O8WQ3';
tf.WQpng[1][0][20][0] = '13_休憩4.png' , tf.WQwmv[1][0][20][0] = 'O8WQ4';
tf.WQpng[1][0][20][1] = '13_休憩5.png' , tf.WQwmv[1][0][20][1] = 'O8WQ5';
tf.WQpng[1][0][20][2] = '13_休憩6.png' , tf.WQwmv[1][0][20][2] = 'O8WQ6';
//N_HP0時
tf.WQpng[0][0][21][0] = 'もうダメ.png' , tf.WQwmv[0][0][21][0] = 'O9WQ1';
tf.WQpng[0][0][21][1] = 'もうダメ.png' , tf.WQwmv[0][0][21][1] = 'O9WQ1';
tf.WQpng[0][0][21][2] = 'もうダメ.png' , tf.WQwmv[0][0][21][2] = 'O9WQ1';
tf.WQpng[1][0][21][0] = 'もうダメ.png' , tf.WQwmv[1][0][21][0] = 'O9WQ4';
tf.WQpng[1][0][21][1] = 'もうダメ.png' , tf.WQwmv[1][0][21][1] = 'O9WQ4';
tf.WQpng[1][0][21][2] = 'もうダメ.png' , tf.WQwmv[1][0][21][2] = 'O9WQ4';
//ND_ダウン追撃。BGゲージの偏りにより発生する。予備の休憩的な
tf.WQpng[0][0][22][0] = '・・・.png' , tf.WQwmv[0][0][22][0] = 'O9WQ7';
tf.WQpng[0][0][22][1] = '・・・.png' , tf.WQwmv[0][0][22][1] = 'O9WQ7';
tf.WQpng[0][0][22][2] = '・・・.png' , tf.WQwmv[0][0][22][2] = 'O9WQ7';
tf.WQpng[1][0][22][0] = '・・・.png' , tf.WQwmv[1][0][22][0] = 'O9WQ8';
tf.WQpng[1][0][22][1] = '・・・.png' , tf.WQwmv[1][0][22][1] = 'O9WQ8';
tf.WQpng[1][0][22][2] = '・・・.png' , tf.WQwmv[1][0][22][2] = 'O9WQ8';
//タリア編
tf.WQpng[0][0][30][0] = 'T07_脱がす.png' , tf.WQwmv[0][0][30][0] = 'T1WQ1';
tf.WQpng[0][0][30][1] = 'T07_脱がす.png' , tf.WQwmv[0][0][30][1] = 'T1WQ2';
tf.WQpng[0][0][30][2] = 'T07_脱がす.png' , tf.WQwmv[0][0][30][2] = 'T1WQ3';
tf.WQpng[0][1][30][0] = 'T04_挿入横.png' , tf.WQwmv[0][1][30][0] = 'T2WQ1';
tf.WQpng[0][1][30][1] = 'T05_挿入後.png' , tf.WQwmv[0][1][30][1] = 'T2WQ2';
tf.WQpng[0][1][30][2] = 'T06_挿入前.png' , tf.WQwmv[0][1][30][2] = 'T2WQ3';
f.talk = '*pretalk';
//配列宣言(ステータス用)-------------------------------------------------------------------------------------------------------------------------
//配列の番号を入れる。
var CAry = 0;
var VAry = 1;
var IAry = 2;
var SAry = 3;
var DAry = 4;
var HPAry = 5;
var EPAry = 6;
var OPAry = 7;
var CP;
var VP;
var IP;
var SP;
var DP;
var HPP;
var EP;
var OP;
//AnotherAct配列について。裏・表は、アクション番号+10することで変換される。なので、113までに0または10が格納された配列を用意し、裏表を制御している
var AnotherAct = [0,0,0,0,0,0,0,0,0,0,0,0,0];
//TempArrayは現在選択中の行為をプログラム的に整理する為に作った整理用配列
tf.TempArray = [];
//各種経験値 CVISとDesire 配列の0がCの経験値になり、1がV、2がI、3がSと続く。は欲望(BG)。がHPでがSPだがSPは感度と統合する為使用せず。
//なぜ配列にしたのかというと項目が増えても対応しやすくするため。
//ちなみにHPが2の時、ゲームスピードスライダーは最小の時0.1ずつ変更 最大の時1ずつ上昇
//01キス ------------------------------------------------------
//キスは欲望を0にしないと二重計算されちゃう
CP = 0;
VP = 0;
IP = 3.1;
SP = 0;
DP = 0;
HPP = 1;
EP = 0.5;
OP = 0.5;
tf.M1WQ1 = [CP,VP,IP+0.0,SP,DP,0.8, 1.0 , 0];
tf.M1WQ2 = [CP,VP,IP+0.0,SP,DP,0.9, 0.7 , 0.3];
tf.M1WQ3 = [CP,VP,IP+0.1,SP,DP,HPP, 0.4 ,0.6];
tf.M1WQ4 = [CP,VP,IP+0.2,SP,DP,HPP, EP , OP];
tf.M1WQ5 = [CP,VP,IP+0.3,SP,DP,HPP, EP , OP];
tf.M1WQ6 = [CP,VP,IP+0.4,SP,DP,HPP, EP , OP];
tf.ActParam[0][0][0][0] = tf.M1WQ1;
tf.ActParam[0][0][0][1] = tf.M1WQ2;
tf.ActParam[0][0][0][2] = tf.M1WQ3;
tf.ActParam[1][0][0][0] = tf.M1WQ4;
tf.ActParam[1][0][0][1] = tf.M1WQ5;
tf.ActParam[1][0][0][2] = tf.M1WQ6;
//01性器観察 ------------------------------------------------
CP = 2.3;
VP = 2.0;
IP = 2.8;
SP = 2.0;
DP = 0.0;
HPP = 1;
EP = 0;
OP = 0;
tf.H1WQ1 = [CP,VP,IP,SP,DP,HPP, 0 , 1];
tf.H1WQ2 = [CP,VP,IP,SP,DP,HPP, 1 , 0];
tf.B2WQ1 = [CP,VP,IP,SP,DP,HPP, 1 , 0];
tf.H1WQ3 = [CP,VP,IP,SP,DP,HPP, 0 , 1];
tf.H1WQ4 = [CP,VP,IP,SP,DP,HPP, 0 , 1];
tf.H1WQ6 = [CP,VP,IP,SP,DP,HPP, 0.5, 0.5];
tf.ActParam[0][0][1][0] = tf.H1WQ1;
tf.ActParam[0][0][1][1] = tf.H1WQ2;
tf.ActParam[0][0][1][2] = tf.B2WQ1;
tf.ActParam[1][0][1][0] = tf.H1WQ3;
tf.ActParam[1][0][1][1] = tf.H1WQ4;
tf.ActParam[1][0][1][2] = tf.H1WQ6;
//02手を使う ------------------------------------------------
//インクリーズではHP消費が1の時、CP2ならHP一本で2回射精するという事になる初期状態計算 DPは1の時回MAXになる50スタートの時)
CP = 2.3;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 2.0;
SP = 0;
DP = -0.2;// 0.2ならば100消費で15増える+の時男の子 -の時女の子が増える
HPP = 1;
EP = 1;
OP = 0;
tf.F1WQ1 = [CP,VP,IP,SP,DP,HPP,1.0,0];
tf.F1WQ2 = [CP,VP,IP,SP,DP,HPP,0.9,0.1];
tf.F1WQ3 = [CP,VP,IP,SP,DP,HPP,0.8,0.2];
tf.F1WQ4 = [CP,VP,IP,SP,DP,HPP,0.7,0.3];
tf.F1WQ5 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.F1WQ6 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][2][0] = tf.F1WQ1;
tf.ActParam[0][0][2][1] = tf.F1WQ2;
tf.ActParam[0][0][2][2] = tf.F1WQ3;
tf.ActParam[1][0][2][0] = tf.F1WQ4;
tf.ActParam[1][0][2][1] = tf.F1WQ5;
tf.ActParam[1][0][2][2] = tf.F1WQ6;
//02秘部責める ------------------------------------------------
CP = 3.2;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 2.6;
SP = 0;
DP = 0.3;// 0.2ならば100消費で15増える
HPP = 1.3;
EP = 0;
OP = 1;
//くすぐる
tf.H3WQ1 = [2.2, 2.2, 3.2, 2.2, 0.0, 0.8, 0, 0.4];
tf.M7WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.F7WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][12][0] = tf.H3WQ1;
tf.ActParam[0][0][12][1] = tf.M7WQ1;
tf.ActParam[0][0][12][2] = tf.M7WQ1;
tf.ActParam[1][0][12][0] = tf.F7WQ1;
tf.ActParam[1][0][12][1] = tf.F7WQ1;
tf.ActParam[1][0][12][2] = tf.F7WQ1;
//03フェラ
CP = 2.6;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 0;
SP = 0;
DP = -0.2;// 0.2ならば100消費で15増える+の時男の子 -の時女の子が増える
HPP = 1;
EP = 0;
OP = 0;
tf.F2WQ1 = [CP,VP,IP,SP,DP,HPP,1,0];
tf.F2WQ2 = [CP,VP,IP,SP,DP,HPP,1,0];
tf.F2WQ3 = [CP,VP,IP,SP,DP,HPP,0.7,0.3];
tf.F2WQ4 = [CP,VP,IP,SP,DP,HPP,0.7,0.3];
tf.F2WQ5 = [CP,VP,IP,SP,DP,HPP,0.7,0.3];
tf.F4WQ1 = [CP,VP,IP,SP,DP,HPP,0.5,0.5];
tf.ActParam[0][0][3][0] = tf.F2WQ1;
tf.ActParam[0][0][3][1] = tf.F2WQ2;
tf.ActParam[0][0][3][2] = tf.F2WQ3;
tf.ActParam[1][0][3][0] = tf.F2WQ4;
tf.ActParam[1][0][3][1] = tf.F2WQ5;
tf.ActParam[1][0][3][2] = tf.F4WQ1;
//03クンニ
CP = 2.6;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 0;
SP = 0;
DP = 0.2;// 0.2ならば100消費で15増える+の時男の子 -の時女の子が増える
HPP = 1;
EP = 0.3;
OP = 0.7;
tf.M5WQ2 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M4WQ5 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M4WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M4WQ3 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M4WQ6 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M4WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][13][0] = tf.M5WQ2;
tf.ActParam[0][0][13][1] = tf.M4WQ5;
tf.ActParam[0][0][13][2] = tf.M4WQ1;
tf.ActParam[1][0][13][0] = tf.M4WQ3;
tf.ActParam[1][0][13][1] = tf.M4WQ6;
tf.ActParam[1][0][13][2] = tf.M4WQ4;
//04胸を触る
CP = 2.9;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 0;
SP = 0;
DP = 0.2;// 0.2ならば100消費で15増える+の時男の子 -の時女の子が増える
HPP = 1;
EP = 0;
OP = 1;
tf.M2WQ1 = [CP-0.6,VP,IP,SP,DP,HPP,EP,0.8];
tf.M2WQ2 = [CP-0.4,VP,IP,SP,DP,HPP,EP,0.9];
tf.M2WQ3 = [CP-0.2,VP,IP,SP,DP,HPP,EP,1];
tf.M2WQ5 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M2WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M2WQ6 = [CP,1.7,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][4][0] = tf.M2WQ1;
tf.ActParam[0][0][4][1] = tf.M2WQ2;
tf.ActParam[0][0][4][2] = tf.M2WQ3;
tf.ActParam[1][0][4][0] = tf.M2WQ5;
tf.ActParam[1][0][4][1] = tf.M2WQ4;
tf.ActParam[1][0][4][2] = tf.M2WQ6;
//04愛撫
CP = 2.9;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 0;
SP = 0;
DP = -0.2;// 0.2ならば100消費で15増える
HPP = 1;
EP = 1;
OP = 0;
tf.M6WQ1 = [CP-0.6,VP,IP,SP,DP,HPP,EP,OP];
tf.M3WQ3 = [CP-0.4,VP,IP,SP,DP,HPP,EP,OP];
tf.M3WQ4 = [CP-0.2,VP,IP,SP,DP,HPP,EP,OP];
tf.M3WQ2 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M3WQ7 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.M3WQ6 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][14][0] = tf.M6WQ1;
tf.ActParam[0][0][14][1] = tf.M3WQ3;
tf.ActParam[0][0][14][2] = tf.M3WQ4;
tf.ActParam[1][0][14][0] = tf.M3WQ2;
tf.ActParam[1][0][14][1] = tf.M3WQ7;
tf.ActParam[1][0][14][2] = tf.M3WQ6;
//05自慰
CP = 1.9;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 1.0;
SP = 1.5;
DP = 0.2;// 0.2ならば100消費で15増える+の時男の子 -の時女の子が増える
HPP = 1;
EP = 0.3;
OP = 0.7;
tf.O1WQ1 = [CP-0.3,VP,IP,SP,DP,HPP,EP,OP];
tf.O1WQ2 = [CP-0.2,VP,IP,SP,DP,HPP,EP,OP];
tf.O1WQ3 = [CP-0.1,VP,IP,SP,DP,HPP,EP,OP];
tf.O1WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O1WQ5 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O4WQ2 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][5][0] = tf.O1WQ1;
tf.ActParam[0][0][5][1] = tf.O1WQ2;
tf.ActParam[0][0][5][2] = tf.O1WQ3;
tf.ActParam[1][0][5][0] = tf.O1WQ4;
tf.ActParam[1][0][5][1] = tf.O1WQ5;
tf.ActParam[1][0][5][2] = tf.O4WQ2;
//05足を使う
CP = 1.9;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 1.0;
SP = 1.5;
DP = -0.2;// 0.2ならば100消費で15増える+の時男の子 -の時女の子が増える
HPP = 1;
EP = 0.7;
OP = 0.3;
tf.F6WQ1 = [CP-0.3,VP,IP,SP,DP,HPP,EP,OP];
tf.F6WQ2 = [CP-0.2,VP,IP,SP,DP,HPP,EP,OP];
tf.F6WQ3 = [CP-0.1,VP,IP,SP,DP,HPP,EP,OP];
tf.F6WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.F6WQ5 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.F6WQ6 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][15][0] = tf.F6WQ1;
tf.ActParam[0][0][15][1] = tf.F6WQ2;
tf.ActParam[0][0][15][2] = tf.F6WQ3;
tf.ActParam[1][0][15][0] = tf.F6WQ4;
tf.ActParam[1][0][15][1] = tf.F6WQ5;
tf.ActParam[1][0][15][2] = tf.F6WQ6;
//06道具使う
CP = 1.3;
VP = 0;
IP = 1.2;
SP = 2.0;
DP = 0.3;
HPP = 1.0;
EP = 0;
OP = 1;
tf.D1WQ2 = [CP-0.4,VP,IP,SP-0.2,DP,HPP,EP,OP];
tf.D1WQ1 = [CP-0.2,VP,IP,SP-0.1,DP,HPP,EP,OP];
tf.D3WQ1 = [CP-0.1,VP,IP,SP+0.1,DP,HPP,EP,OP];
tf.D1WQ3 = [CP,VP,IP,SP+0.2,DP,HPP,EP,OP];
tf.D1WQ4 = [CP,VP,IP,SP+0.2,DP,HPP,EP,OP];
tf.D2WQ2 = [CP,VP,IP,SP+0.2,DP,HPP,EP,OP];
tf.ActParam[0][0][6][0] = tf.D1WQ2;
tf.ActParam[0][0][6][1] = tf.D1WQ1;
tf.ActParam[0][0][6][2] = tf.D3WQ1;
tf.ActParam[1][0][6][0] = tf.D1WQ3;
tf.ActParam[1][0][6][1] = tf.D1WQ4;
tf.ActParam[1][0][6][2] = tf.D2WQ2;
//06逆道具
CP = 1.3;// macroパラメータ処理にて計算される。感度計算表も見てね
VP = 0;
IP = 1.2;
SP = 2.1;
DP = -0.3;// 0.2ならば100消費で15増える
HPP = 1;
EP = 1;
OP = 0;
tf.D7WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.D7WQ2 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][16][0] = tf.D7WQ1;
tf.ActParam[0][0][16][1] = tf.D7WQ1;
tf.ActParam[0][0][16][2] = tf.D7WQ1;
tf.ActParam[1][0][16][0] = tf.D7WQ2;
tf.ActParam[1][0][16][1] = tf.D7WQ2;
tf.ActParam[1][0][16][2] = tf.D7WQ2;
//07正常位
CP = 0;
VP = 2.1;
IP = 2.5;
SP = 0;
DP = 0;
HPP = 1;
EP = 0.0;
OP = 0.0;
tf.S1WQ1 = [CP,VP,IP,SP,DP,HPP,1.0,0.0];
tf.S1WQ2 = [CP,VP,IP,SP,DP,HPP,0.8,0.2];
tf.S1WQ3 = [CP,VP,IP,SP,DP,HPP,0.6,0.4];
tf.S1WQ4 = [CP,VP,IP,SP,DP,HPP,0.5,0.5];
tf.S1WQ5 = [CP,VP,IP,SP,DP,HPP,0.5,0.5];
tf.S3WQ6 = [CP,VP,IP,SP,DP,HPP,0.5,0.5];
tf.ActParam[0][1][0][0] = tf.S1WQ1;
tf.ActParam[0][1][0][1] = tf.S1WQ2;
tf.ActParam[0][1][0][2] = tf.S1WQ3;
tf.ActParam[1][1][0][0] = tf.S1WQ4;
tf.ActParam[1][1][0][1] = tf.S1WQ5;
tf.ActParam[1][1][0][2] = tf.S3WQ6;
//07挿入練習
CP = 0;
VP = 2.2;
IP = 2.3;
SP = 0;
DP = 0;
HPP = 1;
EP = 0.5;
OP = 0.5;
tf.S4WQ1 = [CP,VP,IP,SP,DP,HPP,1.0,0.0];
tf.S3WQ5 = [CP,VP,IP,SP,DP,HPP,0.8,0.2];
tf.S3WQ2 = [CP,VP,IP,SP,DP,HPP,0.6,0.4];
tf.S3WQ3 = [CP,VP,IP,SP,DP,HPP,0.7,0.3];
tf.S3WQ1 = [CP,VP,IP,SP,DP,HPP,0.6,0.4];
tf.S3WQ4 = [CP,VP,IP,SP,DP,HPP,0.5,0.5];
tf.ActParam[0][1][1][0] = tf.S4WQ1;
tf.ActParam[0][1][1][1] = tf.S3WQ5;
tf.ActParam[0][1][1][2] = tf.S3WQ2;
tf.ActParam[1][1][1][0] = tf.S3WQ3;
tf.ActParam[1][1][1][1] = tf.S3WQ1;
tf.ActParam[1][1][1][2] = tf.S3WQ4;
//08騎乗位
CP = 0;
VP = 2.4;
IP = 0;
SP = 0;
DP = -0.4;//+の時男の子 -の時女の子が増える
HPP = 1;
EP = 0.7;
OP = 0.3;
tf.K1WQ1 = [CP,VP-0.3,IP,SP,DP,HPP,0.8,0.2];
tf.K1WQ2 = [CP,VP-0.2,IP,SP,DP,HPP,0.8,0.2];
tf.K1WQ3 = [CP,VP-0.1,IP,SP,DP,HPP,0.8,0.3];
tf.K1WQ4 = [CP,VP,IP,SP,DP,HPP,0.7,0.35];
tf.K1WQ5 = [CP,VP,IP,SP,DP,HPP,0.7,0.4];
tf.K1WQ8 = [CP,VP,IP,SP,DP,HPP,0.7,0.45];
tf.ActParam[0][1][2][0] = tf.K1WQ1;
tf.ActParam[0][1][2][1] = tf.K1WQ2;
tf.ActParam[0][1][2][2] = tf.K1WQ3;
tf.ActParam[1][1][2][0] = tf.K1WQ4;
tf.ActParam[1][1][2][1] = tf.K1WQ5;
tf.ActParam[1][1][2][2] = tf.K1WQ8;
//08逆騎乗
CP = 0;
VP = 3.0;
IP = 0;
SP = 0;
DP = 0.2;
HPP = 1;
EP = 0.7;
OP = 0.7;
//騎乗休憩
tf.K7WQ5 = [2.0, 2.4, 3.2, 2.2, 0.0, 0.8 ,0 , 0.4];
tf.K7WQ1 = [CP ,VP , IP,SP ,DP, HPP,EP,OP];
tf.K7WQ4 = [CP ,VP , IP,SP ,DP, HPP,EP,OP];
tf.ActParam[0][1][12][0] = tf.K7WQ5;
tf.ActParam[0][1][12][1] = tf.K7WQ1;
tf.ActParam[0][1][12][2] = tf.K7WQ1;
tf.ActParam[1][1][12][0] = tf.K7WQ4;
tf.ActParam[1][1][12][1] = tf.K7WQ4;
tf.ActParam[1][1][12][2] = tf.K7WQ4;
//09後背位
CP = 0;
VP = 2.4;
IP = 0;
SP = 0;
DP = 0.4;
HPP = 1;
EP = 0.8;
OP = 0.2;
tf.B1WQ1 = [CP,VP-0.3,IP,SP,DP,HPP,1.0,0];
tf.B1WQ2 = [CP,VP-0.2,IP,SP,DP,HPP,0.9,0.1];
tf.B1WQ3 = [CP,VP-0.1,IP,SP,DP,HPP,0.8,0.3];
tf.B1WQ4 = [CP,VP,IP,SP,DP,HPP,0.8,0.4];
tf.B3WQ5 = [CP,VP,IP,SP,DP,HPP,0.8,0.45];
tf.B1WQ6 = [CP,VP,IP,SP,DP,HPP,0.8,0.45];
tf.ActParam[0][1][3][0] = tf.B1WQ1;
tf.ActParam[0][1][3][1] = tf.B1WQ2;
tf.ActParam[0][1][3][2] = tf.B1WQ3;
tf.ActParam[1][1][3][0] = tf.B1WQ4;
tf.ActParam[1][1][3][1] = tf.B3WQ5;
tf.ActParam[1][1][3][2] = tf.B1WQ6;
//09逆後背
CP = 0;
VP = 3;
IP = 0;
SP = 1;
DP = -0.2;
HPP = 1;
EP = 0.7;
OP = 0.7;
//後背誘惑
tf.H3WQ2 = [2.2, 2.4, 3.2, 2.2, 0.0, 0.8, 0.4, 0];
tf.B7WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.B7WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][1][13][0] = tf.H3WQ2;
tf.ActParam[0][1][13][1] = tf.B7WQ1;
tf.ActParam[0][1][13][2] = tf.B7WQ1;
tf.ActParam[1][1][13][0] = tf.B7WQ4;
tf.ActParam[1][1][13][1] = tf.B7WQ4;
tf.ActParam[1][1][13][2] = tf.B7WQ4;
//10強騎乗
CP = 0;
VP = 3;
IP = 0;
SP = 0;
DP = -0.4;
HPP = 1.1;
EP = 0.5;
OP = 0.7;
tf.K2WQ2 = [CP,VP-0.6,IP,SP,DP,HPP,1.0,0.0];
tf.K3WQ1 = [CP,VP-0.4,IP,SP,DP,HPP,1.0,0.1];
tf.K6WQ1 = [CP,VP-0.2,IP,SP,DP,HPP,1.0,0.2];
tf.K3WQ2 = [CP,VP, IP,SP,DP,HPP,0.6,0.6];
tf.K5WQ1 = [CP,VP, IP,SP,DP,HPP,0.8,0.0];
tf.K1WQ9 = [CP,VP, IP,SP,DP,HPP,0.7,0.7];
tf.ActParam[0][1][4][0] = tf.K2WQ2;
tf.ActParam[0][1][4][1] = tf.K3WQ1;
tf.ActParam[0][1][4][2] = tf.K6WQ1;
tf.ActParam[1][1][4][0] = tf.K3WQ2;
tf.ActParam[1][1][4][1] = tf.K5WQ1;
tf.ActParam[1][1][4][2] = tf.K1WQ9;
//10強後背
CP = 0;
VP = 3;
IP = 0;
SP = 0;
DP = 0.4;
HPP = 1.1;
EP = 0.7;
OP = 0.5;
tf.B3WQ1 = [CP,VP-0.6,IP,SP,DP,HPP,1.0,0.1];
tf.B3WQ2 = [CP,VP-0.4,IP,SP,DP,HPP,1.0,0.1];
tf.B3WQ3 = [CP,VP-0.2,IP,SP,DP,HPP,0.9,0.25];
tf.B2WQ2 = [CP,VP, IP,SP,DP,HPP,0.9,0.25];
tf.B1WQ5 = [CP,VP, IP,SP,DP,HPP,0.9,0.25];
tf.B3WQ6 = [CP,VP, IP,SP,DP,HPP,0.9,0.25];
tf.ActParam[0][1][14][0] = tf.B3WQ1;
tf.ActParam[0][1][14][1] = tf.B3WQ2;
tf.ActParam[0][1][14][2] = tf.B3WQ3;
tf.ActParam[1][1][14][0] = tf.B2WQ2;
tf.ActParam[1][1][14][1] = tf.B1WQ5;
tf.ActParam[1][1][14][2] = tf.B3WQ6;
//11指挿入
CP = 0;
VP = 1.8;
IP = 0;
SP = 1.3;
DP = 0.25;
HPP = 1;
EP = 0;
OP = 1;
tf.S6WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.S6WQ2 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.S6WQ5 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.S6WQ3 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.S6WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.S6WQ6 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][1][5][0] = tf.S6WQ1;
tf.ActParam[0][1][5][1] = tf.S6WQ2;
tf.ActParam[0][1][5][2] = tf.S6WQ5;
tf.ActParam[1][1][5][0] = tf.S6WQ3;
tf.ActParam[1][1][5][1] = tf.S6WQ4;
tf.ActParam[1][1][5][2] = tf.S6WQ6;
//11搾精
CP = 0;
VP = 2.0;
IP = 0;
SP = 1.5;
DP = -0.4;
HPP = 1;
EP = 1;
OP = 0;
tf.F1WQ7 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.F1WQ8 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][1][15][0] = tf.F1WQ7;
tf.ActParam[0][1][15][1] = tf.F1WQ7;
tf.ActParam[0][1][15][2] = tf.F1WQ7;
tf.ActParam[1][1][15][0] = tf.F1WQ8;
tf.ActParam[1][1][15][1] = tf.F1WQ8;
tf.ActParam[1][1][15][2] = tf.F1WQ8;
//12アナル
CP = 0;
VP = 0;
IP = 0;
SP = 2.2;
DP = 0.3;
HPP = 1;
EP = 0;
OP = 1;
tf.B8WQ1 = [0.4,VP,0.9,1.2,DP,HPP,EP,OP];
tf.D8WQ1 = [0.6,VP,1.1,1.4,DP,HPP,EP,OP];
tf.D8WQ9 = [0.8,VP,1.3,1.6,DP,HPP,EP,OP];
tf.B8WQ2 = [0.9,VP,1.4,1.9,DP,HPP,0.5,0.5];
tf.K8WQ1 = [1.0,VP,1.7,2.2,DP,HPP,0.6,0.6];
tf.S8WQ1 = [1.1,VP,2.0,2.5,DP,HPP,0.7,0.7];
tf.ActParam[0][1][6][0] = tf.B8WQ1;
tf.ActParam[0][1][6][1] = tf.D8WQ1;
tf.ActParam[0][1][6][2] = tf.D8WQ9;
tf.ActParam[1][1][6][0] = tf.B8WQ2;
tf.ActParam[1][1][6][1] = tf.K8WQ1;
tf.ActParam[1][1][6][2] = tf.S8WQ1;
//12逆アナル
CP = 0.8;
VP = 0;
IP = 2;
SP = 2.6;
DP = -1;
HPP = 1;
EP = 1;
OP = 0;
tf.D8WQ8 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.D8WQ7 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][1][16][0] = tf.D8WQ8;
tf.ActParam[0][1][16][1] = tf.D8WQ8;
tf.ActParam[0][1][16][2] = tf.D8WQ8;
tf.ActParam[1][1][16][0] = tf.D8WQ7;
tf.ActParam[1][1][16][1] = tf.D8WQ7;
tf.ActParam[1][1][16][2] = tf.D8WQ7;
//13休憩
CP = 0;
VP = 0;
IP = 0;
SP = 0;
DP = 0;
HPP = 0;
EP = 0;
OP = 0;
tf.O8WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O8WQ2 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O8WQ3 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O8WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O8WQ5 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O8WQ6 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][20][0] = tf.O8WQ1;
tf.ActParam[0][0][20][1] = tf.O8WQ2;
tf.ActParam[0][0][20][2] = tf.O8WQ3;
tf.ActParam[1][0][20][0] = tf.O8WQ4;
tf.ActParam[1][0][20][1] = tf.O8WQ5;
tf.ActParam[1][0][20][2] = tf.O8WQ6;
//13ダウン
CP = 0;
VP = 0;
IP = 0;
SP = 0;
DP = 0;
HPP = 0;
EP = 0;
OP = 0;
tf.O9WQ1 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.O9WQ4 = [CP,VP,IP,SP,DP,HPP,EP,OP];
tf.ActParam[0][0][22][0] = tf.O9WQ1;
tf.ActParam[0][0][22][1] = tf.O9WQ4;
//30タリア編
CP = 2.5;
VP = 2.5;
IP = 2.5;
SP = 2.5;
DP = 0.4;
HPP = 1;
EP = 0;
OP = 0;
tf.T1WQ1 = [CP,VP,IP,SP,DP,HPP, 0.4 , 0.0];
tf.T1WQ2 = [CP,VP,IP,SP,DP,HPP, 0.0 , 0.5];
tf.T1WQ3 = [CP,VP,IP,SP,DP,HPP, 0.6 , 0.0];
tf.T2WQ1 = [CP,VP,IP,SP,DP,HPP, 0.7 , 0.0];
tf.T2WQ2 = [CP,VP,IP,SP,DP,HPP, 0.7 , 0.0];
tf.T2WQ3 = [CP,VP,IP,SP,DP,HPP, 0.7 , 0.0];
tf.T2WQ4 = [CP,VP,IP,SP,DP,HPP, 0.7 , 0.0];
tf.ActParam[0][0][30][0] = tf.T1WQ1;
tf.ActParam[0][0][30][1] = tf.T1WQ2;
tf.ActParam[0][0][30][2] = tf.T1WQ3;
tf.ActParam[0][1][30][0] = tf.T2WQ1;
tf.ActParam[0][1][30][1] = tf.T2WQ2;
tf.ActParam[0][1][30][2] = tf.T2WQ3;
tf.ActParam[1][1][30][0] = tf.T2WQ4;
//--------------------------------------------------------------------------------------------------
[endscript]
*デバッグ用初期値
;時間変えたい時の為
;[eval exp="f.DateFlag = [9,9,9,9,9,9]"]
;[eval exp="f.LoopFlag=1"]
;exitのセリフを順序だてる
[eval exp="f.exit1 = 0"]
[eval exp="f.exit2 = 0"]
[eval exp="f.exit3 = 0"]
[eval exp="f.exit4 = 0"]
[eval exp="f.exit5 = 0"]
[eval exp="f.exit6 = 0"]
;周回数。デフォルトは1ね。
[eval exp="f.newgameplus = 1"]
;エンディングが見たこと無い場合にマークをつける。1の時マークが付く NEMURI
[eval exp="f.edmark = 0"]
;章ごとの中に出した回数 EXTOTAL
[eval exp = "f.OrgNaka = 0"]
;本来は無視されるが、デバッグ用。製品版では無視される
[eval exp="f.maxlp = 1"]
[eval exp="f.usedlp = 0"]
[eval exp="f.usedlpAB = 0"]
[eval exp="f.currentlp = 1"]
;デバッグ用。1000がいいかと思う ちなみに体験版では1000  ウェイトキャッチ waitcatchにかかる
[eval exp="f.actwait = 1000"]
[eval exp="f.SpeedFlag = 0"]
;アクションを初期化する実は吉里吉里の初期値は0なので必要無いんだけど念の為
[アクション初期化]
*各種初期設定
;各種ゲージ 肉体感度 挿入感度 好奇心 アブノーマル 初期化
[eval exp="f.AC_EXP = 0"]
[eval exp="f.AV_EXP = 0"]
[eval exp="f.AI_EXP = 0"]
[eval exp="f.AS_EXP = 0"]
;直前のアクションが挿入していたかどうか。ここで初期化しないとデバッグが面倒になる
[eval exp = "tf.insert = 0"]
;各種経験値やBGゲージの初期値。
[eval exp="f.C_EXPgauge = f.AC_EXP"]
[eval exp="f.V_EXPgauge = f.AV_EXP"]
[eval exp="f.I_EXPgauge = f.AI_EXP"]
[eval exp="f.S_EXPgauge = f.AS_EXP"]
[eval exp="f.D_EXPgauge = (f.AD_EXP * 1.28)"]
;ギャラリー回想の初期化 本当は要らないが一応
[eval exp="f.galkaisou = 0 , f.galkaisou2 = 0"]
;マウスの中ボタンのクリック制御の許可天才かわたしはちなみに1で許可
[eval exp="f.middleclick = 0"]
;キーナムを定義する
[iscript]
var keynum = 0;
var keynumpool = 0;
var keycount = 0;
var jumpflag = 0;
var keycountkeep = 0;
var keycountmain = 0;
var jftotal = 0; //更にアフターイニットで使用するJF累積も定義 NEMURI
[endscript]
;ショップ用。ポイントを出すための定義
[iscript]
var Cpointsum=0;
var Vpointsum=0;
var Ipointsum=0;
var Spointsum=0;
var sumloop = 0;
var arrCpoint = [];
var arrVpoint = [];
var arrIpoint = [];
var arrSpoint = [];
[endscript]
;tf.keyinitial(キーボードの初期位置、マクロ・キーセットにかかっている)
[eval exp="tf.keyinitial = 'blank'"]
[eval exp="tf.waitnoloop = 0"]
;ショップ用の定義
[eval exp="f.lpten = 0"]
[eval exp="f.lpone = 0"]
[eval exp="f.lvten = 0"]
[eval exp="f.lvone = 0"]
[eval exp="tf.hidden = []"]
[eval exp="tf.hide = 1"]
;メッセージレイヤ2番を定義する 2023年2月7日
[position layer="message2" frame="" visible="true" opacity="0" top="0" left="0" width="&krkrWidth" height="&krkrHeight"]
;セーブ用、メッセージレイヤ3番を定義する
[position layer="message3" frame="" visible="true" opacity="0" top="100" left="25" width="&krkrWidth" height="&krkrHeight"]
;メッセージ4を定義
[position layer="message4" frame="" visible="true" opacity="0" top="100" left="25" width="&krkrWidth" height="&krkrHeight"]
;★★★★★BGM初期値★★★★★★★★★★★
[if exp="sf.syokaikidou != 1"]
;ピクトギャラリーで使用する。この配列に格納されたものが表示されるんにゃ
[eval exp="sf.PictVisFlag = []"]
;;[eval exp="sf.PictVisFlag[0] = 'P2WQ2A'"]
;ゲームスピード変動1が最大で、0.1まで下がる これどこまでも上げられるけど…あまり早く設定できるようにしたらやりにくいのでは?と思っちゃうよね。クリッカーみたいに実績で段々上げれてもいいかも
[eval exp="sf.GameSpeed = 0.8"]
;赤頭巾モードのための初期化
[eval exp="sf.Amode = 0"]
;セーブの栞のための配列
[eval exp="sf.TLVsave = []"]
[eval exp="sf.ABsave = []"]
[eval exp="sf.WORLDsave = []"]
[eval exp="kag.bgm.currentBuffer.volume2 = 38000"]
[eval exp="kag.se[0].volume2 = 75000"]
[eval exp="kag.se[1].volume2 = 75000"]
[eval exp="kag.se[2].volume2 = 75000"]
[eval exp="kag.se[3].volume2 = 75000"]
[eval exp="kag.se[4].volume2 = 75000"]
[eval exp="kag.se[5].volume2 = 75000"]
;初回起動の時のみ初期化する
[eval exp="setMessageSpeed1(3,,) , sf.midoku = 4" ]
[eval exp="setMessageSpeed2(3,,) , sf.kidoku = 4" ]
[eval exp="setMessageSpeedAuto(3,,) , sf.automessage = 4" ]
;既読スキップかオールスキップか。ゲームシステム上既読をスキップの方が良い
[eval exp="sf.skipall = 0"]
[eval exp="sf.syokaikidou = 1"]
[eval exp="sf.bgmval = kag.bgm.currentBuffer.volume2 / 1000"]
[eval exp="sf.rcMenu.BgmVolume = sf.bgmval"]
;バイノーラル用の音量
[eval exp="sf.bgmvalbinaural = 80"]
;バイノーラルから直接電源を切った時にバグを防ぐ
[eval exp="sf.binauralflag = 0"]
[eval exp="sf.seval = kag.se[0].volume2 / 1000"]
[eval exp="sf.rcMenu.SeVolume = sf.seval"]
[eval exp="sf.voiceval = kag.se[2].volume2 / 1000"]
[eval exp="sf.rcMenu.VoiceVolume = sf.voiceval"]
[eval exp="sf.bgmvaldummy = sf.bgmval"]
[eval exp="sf.sevaldummy = sf.seval"]
[eval exp="sf.voicevaldummy = sf.voiceval"]
;イージーモードを使う時用
[eval exp="sf.EasyMode = 0"]
;セーブ・ロードの配列
[eval exp="sf.saveflag = []"]
;セーブ位置をマーク
[eval exp="sf.mark = []"]
;配列の初期化
[eval exp="sf.LPtemp = []"]
;セーブのレベルポイント
[eval exp="sf.CPsave = []"]
[eval exp="sf.VPsave = []"]
[eval exp="sf.IPsave = []"]
[eval exp="sf.SPsave = []"]
;セーブの行為マスター数・ゲーム全体
[eval exp="sf.Actsave = []"]
;ブランク配列 念の為作っておく
[eval exp="sf.Blank = []"]
[eval exp="sf.Blank.assignStruct(tf.ArrInit) "]
;ブランク配列2
[eval exp="sf.Blank2 = []"]
[eval exp="sf.Blank2.assignStruct(tf.ArrInit) "]
[endif]
[if exp ="kag.width <= 1050"][eval exp="sf.normalwindow = 0"]
[elsif exp ="kag.width >= 1400"][eval exp="sf.normalwindow = 2"]
[else][eval exp="sf.normalwindow = 1"]
[endif]
[if exp = "sf.binauralflag == 1"]
[eval exp="sf.bgmvalbinaural = sf.bgmval"]
[eval exp="sf.bgmval = sf.bgmvalhozon"]
[eval exp="sf.rcMenu.BgmVolume = sf.bgmval"]
[eval exp="kag.bgm.setOptions(%[gvolume:sf.bgmval])"]
;これが無いと延々とこのifが実行される
[eval exp="sf.binauralflag = 0"]
[endif]
;★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
;ヘルプやセーブ画面で、このキーかうんとキープの宣言が必要になる
[iscript]
var keycountkeep = 0;
[endscript]
;アフターイニットでウェイトを使うための初期値
[eval exp="tf.afterinitwait = 0"]
[eval exp="tf.index = 1"]
;これ何?
[eval exp="f.saveflag = 0"]
;ギャラリー用の初期化
[eval exp="f.gallery = []"]
[eval exp="f.galsto = []"]
[eval exp="f.galact = []"]
[eval exp="f.galtalk = []"]
;3章の累計回数の初期化。f.pos1とか2は、章別の累計回数。f.posはいらないのではf.buttonで代用できるけども
[eval exp="f.pos3 = 0"]
;キーダウン廃止 数字の方が使い勝手が良い為 あとZで読み進める時に誤作動がまあまああるので
;;[eval exp="kag.keyDownHook.add(SKeyDownHook)"]
;;[eval exp="kag.keyDownHook.add(XKeyDownHook)"]
;;[eval exp="kag.keyDownHook.add(ZKeyDownHook)"]
[eval exp="kag.keyDownHook.add(VKeyDownHook)"]
[eval exp="kag.keyDownHook.add(SPACEKeyDownHook)"]
[eval exp="kag.keyDownHook.add(CTRLKeyDownHook)"]
[eval exp="kag.keyDownHook.add(ADKeyDownHook)"]
[eval exp="kag.keyDownHook.add(RKeyDownHook)"]
[eval exp="kag.keyDownHook.add(CheatKeyDownHook)"]
;デバッグ用のムービーキャンセラ
[eval exp="kag.keyDownHook.add(SKeyDownHook)"]
*first
;startanchorを使うことで、メニューの最初に戻るを使用可能になる。
;このタグがある場所に、最初に戻るボタンは戻る。ただし・・・スタートアンカーを使う必要はないと思う。それによるバグの方がはるかに怖い
;[startanchor]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;ショップからここに来た場合、この一文が必要になる
[current layer=message0]
[rclick call = false jump = false name="右クリック用サブルーチを呼ぶ(&S)" enabled=true]
;;;;;;;;;;;;;;;;;;;;;;ここでフォントの設定をしている;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;ビットマップフォントによる画像化詳しくは検索して。これをしないとMSゴシックですら下手すれば表示されない環境が無いとも言い切れない
;すっごくわかりにくいけど、上のookamiってフォント名におおかみくんフォント通常ookami.ttfを割り当てるという意味。
[font face="ookami"]
[mappfont storage="ookami.tft"]
;同様に、TrophyFontというフォントにTrophyFontを割り当てる。以降、この名前を指定すると自由に使える
[font face="TrophyFont"]
[mappfont storage="TrophyFont.tft"]
;同様に、S28FontというフォントにfolkSize27を割り当てる。以降、この名前を指定すると自由に使える
[font face="S28Font"]
[mappfont storage="S28Font.tft"]
[font face="Ending25"]
[mappfont storage="Ending25.tft"]
[font face="MSP12"][mappfont storage="MSP12.tft"]
[font face="MSP14"][mappfont storage="MSP14.tft"]
[font face="MSP15"][mappfont storage="MSP15.tft"]
[font face="MSP16"][mappfont storage="MSP16.tft"]
[font face="MSP18"][mappfont storage="MSP18.tft"]
[font face="MSP20"][mappfont storage="MSP20.tft"]
[font face="MSP21"][mappfont storage="MSP21.tft"]
[font face="MSP24"][mappfont storage="MSP24.tft"]
[font face="MSP30"][mappfont storage="MSP30.tft"]
[font face="MSP21s"][mappfont storage="MSP21s.tft"]
; 以降、フォント名を指定すれば、いつでもレンダリング済みフォントが使える
[deffont face="ookami" bold=false edge=true]
;ここ行間ね
[defstyle linespacing = 10]
;袋文字の設定
[eval exp="kag.current.edgeExtent = 1.2"]
;袋文字の強調度合い
[eval exp="kag.current.edgeEmphasis = 1080"]
;resetによってフォントが設定される。
[resetstyle]
[resetfont]
;以前まで使ってた。レンダリングフォントを使わない場合はこれを使います。
;フォントは絶対にだ。おおかみくんフォントの28はすごくいいね。ちなみに前のフォントの頃はextent=1 emphasis 1500 だった
[deffont face="おおかみくんフォントP8" size=28 bold=false edge=true]
;[eval exp="kag.current.edgeExtent = 1"]
;[eval exp="kag.current.edgeEmphasis = 1080"]
;[resetfont]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;基本的にここに戻す。
;声優さん用に作った動画切り替えボタンなんだけどなんか普通に使えるなこれ
[eval exp="f.seiyu = 1"]
[eval exp="f.camera = 0"]
[eval exp="f.all = 0"]
[eval exp="f.riverse = 0"]
[clearvideolayer channel="1"]
[video visible=true top=0 left=0 width="&krkrWidth" height="&krkrHeight" mode=layer]
;[video mode = layer]
[videolayer layer="0" page="fore" channel="1"]
[preparevideo][wp]
[iscript]
var talk;
var keycount = 0;
var keyfirst = 0;
[endscript]
;CTRLスキップのマクロ
[call storage="CtrlSkip.ks"]
*linkselect
; *の後に|を入れる事でセーブ可能になる。
;ロードしたときは、| の付いたラベルのところから始まることになるよ。
;だから、| 付きのラベルの直後は[cm]か[ct]を書いておいた方がいいよね。
[cm]
;TALK時に使うウィンドウの設定。マージン
[layopt layer=message0 page=fore left="&krkrLeft" top=480 visible=false]
;TALK時に使うウィンドウの設定。マージン
[position layer=message0 page=fore marginl="&krkrLeft+50" margint=10 top="&krkrHeight-240" frame="messageWindow2.png"]
;ここで一度ランダムの値を作り
;ランダムに配列に格納されたイラストを表示する
;ちなみに配列は0から開始される
;0には固定されたイラスト(おはようかな)を入れようか
;で、1以降に新規追加の物ね
;intrandom は指定値以上、指定値以下の整数の乱数を返す
[eval exp="f.m = intrandom(0,(sf.PictVisFlag.count-1))"]
;マイナスになった場合治す
[if exp="f.m < 0"][eval exp="f.m = 0"][endif]
*linkselectnosave
[if exp="tf.loaded==1"]
;ロード時のみ、元のデータのデバッグコマンドが上書きされる
;sfに入れ込むように変えた
[eval exp="sf.SkinAll = f.SkinAll"]
[eval exp="sf.cardall = f.cardall"]
[eval exp="sf.cheat = f.cheat"]
[eval exp="sf.sceneall = f.sceneall"]
[eval exp="sf.galleryall = f.galleryall"]
[eval exp="sf.memoryall = f.memoryall"]
[eval exp="sf.DebugEndless = f.DebugEndless"]
[else]
;逆に、ロードしない時(前回デバッグオンにして起動)等は、sfの値を通常のデバッグに上書き
[eval exp="f.SkinAll = sf.SkinAll"]
[eval exp="f.cardall = sf.cardall"]
[eval exp="f.cheat = sf.cheat"]
[eval exp="f.sceneall = sf.sceneall"]
[eval exp="f.galleryall = sf.galleryall"]
[eval exp="f.memoryall = sf.memoryall"]
[eval exp="f.DebugEndless = sf.DebugEndless"]
[endif]
;エンディング数計測
[eval exp="tf.GalleryPart=0"]
[if exp="sf.ScenarioGallery[0][9] || f.memoryall == 1"][pimage storage="Gallery_Card" layer=base page=fore dx = 88 dy = 638][eval exp="tf.GalleryPart+=1"][endif]
[if exp="sf.ScenarioGallery[1][9] || f.memoryall == 1"][pimage storage="Gallery_Card" layer=base page=fore dx = 136 dy = 638][eval exp="tf.GalleryPart+=1"][endif]
[if exp="sf.ScenarioGallery[2][9] || f.memoryall == 1"][pimage storage="Gallery_Card" layer=base page=fore dx = 184 dy = 638][eval exp="tf.GalleryPart+=1"][endif]
[if exp="sf.ScenarioGallery[3][9] || f.memoryall == 1"][pimage storage="Gallery_Card" layer=base page=fore dx = 232 dy = 638][eval exp="tf.GalleryPart+=1"][endif]
[if exp="sf.ScenarioGallery[4][9] || f.memoryall == 1"][pimage storage="Gallery_Card" layer=base page=fore dx = 280 dy = 638][eval exp="tf.GalleryPart+=1"][endif]
[if exp="sf.ScenarioGallery[5][9] || f.memoryall == 1"][pimage storage="Gallery_Card" layer=base page=fore dx = 328 dy = 638][eval exp="tf.GalleryPart+=1"][endif]
[if exp="sf.ScenarioGallery[6][9] || f.memoryall == 1"][pimage storage="Gallery_Card" layer=base page=fore dx = 376 dy = 638][eval exp="tf.GalleryPart+=1"][endif]
;最後のカードの出現フラグを立てる
[if exp="tf.GalleryPart>=7 || f.cardall == 1"]
[eval exp="f.CardF1_Vis=1"]
[else]
[eval exp="f.CardF1_Vis=0"]
[endif]
;念の為性感爆発初期化
[eval exp="tf.SexualExplosion = 0"]
[eval exp="tf.SexualExplosionUsed = 0"]
[eval exp="tf.SexualExplosionNum=0"]
[eval exp="tf.jfVexplosion = 0"]
;キス
[eval exp="tf.ActUnlock[0][0][0] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][0][0] = [13,15,17-(&f.EasyMode)]"]
;性器観察
[eval exp="tf.ActUnlock[0][0][1] = [5,8,10]"]
[eval exp="tf.ActUnlock[1][0][1] = [13,15,17-(&f.EasyMode)]"]
;手を使う
[eval exp="tf.ActUnlock[0][0][2] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][0][2] = [13,16-(&f.EasyMode),18-(&f.EasyMode)]"]
;搾精
[eval exp="tf.ActUnlock[0][0][12] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][0][12] = [10,13,16-(&f.EasyMode)]"]
;フェラ
[eval exp="tf.ActUnlock[0][0][3] = [5,7,11-(&f.EasyMode)]"]
[eval exp="tf.ActUnlock[1][0][3] = [13,15,18-(&f.EasyMode)]"]
;クンニ
[eval exp="tf.ActUnlock[0][0][13] = [5,7,11-(&f.EasyMode)]"]
[eval exp="tf.ActUnlock[1][0][13] = [13,15,18-(&f.EasyMode)]"]
;胸
[eval exp="tf.ActUnlock[0][0][4] = [5,8-(&f.EasyMode),11-(&f.EasyMode)]"]
[eval exp="tf.ActUnlock[1][0][4] = [13,16,19-(&f.EasyMode)]"]
;愛撫
[eval exp="tf.ActUnlock[0][0][14] = [4,8,10]"]
[eval exp="tf.ActUnlock[1][0][14] = [13,16,19-(&f.EasyMode)]"]
;自慰
[eval exp="tf.ActUnlock[0][0][5] = [5,8-(&f.EasyMode),11-(&f.EasyMode)]"]
[eval exp="tf.ActUnlock[1][0][5] = [14,16-(&f.EasyMode),18-(&f.EasyMode)]"]
;足使う
[eval exp="tf.ActUnlock[0][0][15] = [5,8-(&f.EasyMode),11-(&f.EasyMode)]"]
[eval exp="tf.ActUnlock[1][0][15] = [14-(&f.EasyMode),16-(&f.EasyMode),18-(&f.EasyMode)]"]
;道具
[eval exp="tf.ActUnlock[0][0][6] = [7,9-(&f.EasyMode),11-(&f.EasyMode)]"]
[eval exp="tf.ActUnlock[1][0][6] = [13,15,18-(&f.EasyMode)]"]
;逆道具
[eval exp="tf.ActUnlock[0][0][16] = [4,7,11-(&f.EasyMode)]"]
[eval exp="tf.ActUnlock[1][0][16] = [8,11,16]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][10] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][10] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][11] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][11] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][20] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][20] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][21] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][21] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][0][22] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][22] = [0,0,0]"]
;タリア
[eval exp="tf.ActUnlock[0][0][30] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][0][30] = [0,0,0]"]
;正常位
[eval exp="tf.ActUnlock[0][1][0] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][0] = [12,15-(&f.EasyMode),17-(&f.EasyMode)]"]
;挿入練習
[eval exp="tf.ActUnlock[0][1][1] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][1][1] = [13,16-(&f.EasyMode),18-(&f.EasyMode)]"]
;騎乗
[eval exp="tf.ActUnlock[0][1][2] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][1][2] = [13,16-(&f.EasyMode),18-(&f.EasyMode)]"]
;後背位
[eval exp="tf.ActUnlock[0][1][3] = [4,7,11]"]
[eval exp="tf.ActUnlock[1][1][3] = [13,16-(&f.EasyMode),19-(&f.EasyMode)]"]
;強騎乗
[eval exp="tf.ActUnlock[0][1][4] = [5,8,12]"]
[eval exp="tf.ActUnlock[1][1][4] = [14,17-(&f.EasyMode),19-(&f.EasyMode*2)]"]
;指挿入
[eval exp="tf.ActUnlock[0][1][5] = [5,8,10]"]
[eval exp="tf.ActUnlock[1][1][5] = [14-(&f.EasyMode),17-(&f.EasyMode),19-(&f.EasyMode*2)]"]
;アナル
[eval exp="tf.ActUnlock[0][1][6] = [6,9,12]"]
[eval exp="tf.ActUnlock[1][1][6] = [15-(&f.EasyMode),18-(&f.EasyMode),20-(&f.EasyMode*2)]"]
;ブランク
[eval exp="tf.ActUnlock[0][1][10] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][10] = [0,0,0]"]
;ブランク
[eval exp="tf.ActUnlock[0][1][11] = [0,0,0]"]
[eval exp="tf.ActUnlock[1][1][11] = [0,0,0]"]
;逆騎乗
[eval exp="tf.ActUnlock[0][1][12] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][12] = [10,13,16-(&f.EasyMode)]"]
;逆後背
[eval exp="tf.ActUnlock[0][1][13] = [4,7,10]"]
[eval exp="tf.ActUnlock[1][1][13] = [11,14,16-(&f.EasyMode)]"]
;強後背
[eval exp="tf.ActUnlock[0][1][14] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][14] = [10,13,16-(&f.EasyMode)]"]
;搾精
[eval exp="tf.ActUnlock[0][1][15] = [3,6,9]"]
[eval exp="tf.ActUnlock[1][1][15] = [10,13,16-(&f.EasyMode)]"]
;逆アナル
[eval exp="tf.ActUnlock[0][1][16] = [5,8,11]"]
[eval exp="tf.ActUnlock[1][1][16] = [12,15,18-(&f.EasyMode*2)]"]
;コールが存在する時0にするセーフティ
[if exp="kag.conductor.callStackDepth>=1"][return storage="first.ks" target="*linkselectnosave"][endif]
[if exp="kag.conductor.callStackDepth>=1"][return storage="first.ks" target="*linkselectnosave"][endif]
[if exp="kag.conductor.callStackDepth>=1"][return storage="first.ks" target="*linkselectnosave"][endif]
;デバッグ用
[if exp="tf.DebugScenarioFlag==4"]
[eval exp="f.LoopFlag=4"]
[elsif exp="tf.DebugScenarioFlag==5"]
[eval exp="f.LoopFlag=5"]
[endif]
[eval exp="tf.DebugScenarioFlag=0"]
;初日の最初の瞬間のみアンロックされる系の数々
[if exp="f.DateFlag[f.LoopFlag]==0"]
;無垢の予兆
[if exp="f.LoopFlag==0"]
;胸を使う
[eval exp="f.Unlock_Act5=0"]
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 0"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 0"]
[eval exp="f.UnlockF = 0"]
;屋根裏の眠り姫
[elsif exp="f.LoopFlag==1"]
;胸
[eval exp="f.Unlock_Act5=1"]
[eval exp="f.UnlockA = 0"]
[eval exp="f.UnlockB = 1"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 0"]
[eval exp="f.UnlockF = 0"]
;白蝶の日々
[elsif exp="f.LoopFlag==2"]
;デバッグから直通の時は強制で最低保証に
[eval exp="f.GameSpeedPlus = 0.3" cond="f.GameSpeedPlus <= 0.3 && f.DebugEndless==1"]
;胸
[eval exp="f.Unlock_Act5=1"]
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 0"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 0"]
[eval exp="f.UnlockF = 1"]
;好奇心の扉
[elsif exp="f.LoopFlag==3"]
;デバッグから直通の時は強制で最低保証に
[eval exp="f.GameSpeedPlus = 0.5" cond="f.GameSpeedPlus <= 0.5 && f.DebugEndless==1"]
[eval exp="f.Unlock_Act5=1"]
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 1"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 1"]
[eval exp="f.UnlockF = 1"]
;エンドレス
[elsif exp="f.LoopFlag==4"]
;デバッグから直通の時は強制で最大に
[eval exp="f.GameSpeedPlus = 0.8" cond="f.GameSpeedPlus <= 0.8 && f.DebugEndless==1"]
;この時点で必ず欲望はアンロックされてるがデバッグで繰り返しやるので一応
[eval exp="f.Unlock_Desire = 1"]
[eval exp="f.lTurnStatusVis=1"]
[eval exp="sf.CanBoost=1"]
;エンドレスでのアンロック領域
[eval exp="f.Unlock_Act5=1"]
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 1"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 1"]
[eval exp="f.UnlockF = 1"]
;初期化領域 ハードモードの時、初日に初期化される 更に全てのデバッグモードは使用禁止される
[if exp="f.Endless_Hard==1"]
[eval exp="f.C_TLV = 1"]
[eval exp="f.V_TLV = 1"]
[eval exp="f.I_TLV = 1"]
[eval exp="f.S_TLV = 1"]
[eval exp="f.AscendPoint = 1"]
[eval exp="f.CheatUnlock_ABnormal=0"]
[eval exp="f.EasyMode=0"]
[eval exp="f.ShowDebug = 0"]
;非表示にする時、各パラメーターの初期化
[eval exp="f.SkinAll = 0"]
[eval exp="f.cardall = 0"]
[eval exp="f.cheat = 0"]
[eval exp="f.sceneall = 0"]
[eval exp="f.galleryall = 0"]
[eval exp="f.memoryall = 0"]
;これだけ帰れなくなる可能性を考えてオンのまま
;;;[eval exp="f.DebugEndless = 0"]
;マスター初期化
[eval exp="f.ActMaster.assignStruct(tf.ArrInit) "]
;マスターの星消す 下に引っ越し
;;;;;;[dTotalEX]
[endif]
;2日目
[eval exp="f.EndlessEndStatus[0]=[3,3,3,3]"]
[eval exp="shuffle(f.EndlessEndStatus[0])"]
;アブノだけ別枠じゃないと即死がありえる 挿入系も
[eval exp="f.EndlessEndStatus[0][1]=1"]
[eval exp="f.EndlessEndStatus[0][3]=1"]
;4日目
[eval exp="f.EndlessEndStatus[1]=[4,4,4,3]"]
[eval exp="shuffle(f.EndlessEndStatus[1])"]
;アブノだけ別枠じゃないと即死がありえる 挿入系も
[eval exp="f.EndlessEndStatus[1][1]=2"]
[eval exp="f.EndlessEndStatus[1][3]=2"]
;6日目
[eval exp="f.EndlessEndStatus[2]=[6,6,5,5]"]
[eval exp="shuffle(f.EndlessEndStatus[2])"]
[eval exp="f.EndlessEndStatus[2][3]=3"]
;9日目
[eval exp="f.EndlessEndStatus[3]=[10,9,9,9]"]
[eval exp="shuffle(f.EndlessEndStatus[3])"]
[eval exp="f.EndlessEndStatus[3][3]=5"]
;C日目
[eval exp="f.EndlessEndStatus[4]=[14,13,13,12]"]
[eval exp="shuffle(f.EndlessEndStatus[4])"]
[eval exp="f.EndlessEndStatus[4][3]=7"]
;F日目
[eval exp="f.EndlessEndStatus[5]=[18,17,17,17]"]
[eval exp="shuffle(f.EndlessEndStatus[5])"]
[eval exp="f.EndlessEndStatus[5][3]=9"]
;最終
[eval exp="f.EndlessEndStatus[6]=[25,23,23,23]"]
[eval exp="shuffle(f.EndlessEndStatus[6])"]
[eval exp="f.EndlessEndStatus[6][3]=12"]
;タリア編
[elsif exp="f.LoopFlag==5"]
;デバッグから直通の時は強制で最大に
[eval exp="f.GameSpeedPlus = 0.8" cond="f.GameSpeedPlus <= 0.8 && f.DebugEndless==1"]
;初期化必要だよね
[eval exp="f.C_TLV = 1"]
[eval exp="f.V_TLV = 1"]
[eval exp="f.I_TLV = 1"]
[eval exp="f.S_TLV = 1"]
[eval exp="f.AscendPoint = 1"]
;ああ~!!要らないかと思ったけどいるのか そうか、星ついちゃうもんね
[eval exp="f.CheatUnlock_ABnormal=0"]
;イージーも湿潤ついちゃうので解除
[eval exp="f.EasyMode=0"]
[eval exp="f.ShowDebug = 0"]
;非表示にする時、各パラメーターの初期化
[eval exp="f.SkinAll = 0"]
[eval exp="f.cardall = 0"]
[eval exp="f.cheat = 0"]
[eval exp="f.sceneall = 0"]
[eval exp="f.galleryall = 0"]
[eval exp="f.memoryall = 0"]
;これだけ帰れなくなる可能性を考えてオンのまま
;;;[eval exp="f.DebugEndless = 0"]
;マスター初期化
[eval exp="f.ActMaster.assignStruct(tf.ArrInit) "]
[endif]
[endif]
;テンポラリなシナリオvisフラグ デバッグコマンドでエンドレス行った後に解除した時、帰れなくなるパターンを防ぐ まぁまたデバッグコマンドでONにすればいいだけなんだけど一応ね
[eval exp="tf.TempScenarioVis=1" cond="f.DebugEndless==0 && f.LoopFlag>=3"]
;星の再計算
[dTotalEX]
;どこでもセーブプラグイン なんか標準のセーブラベル|はちょっと重いらしいので
[label]
;カードを交換した時発動する。このフラグが1の時、メニュー画面に戻った瞬間にオートセーブを行う。
[if exp="tf.CardAutoSave==1"]
[save place=15]
[endif]
;0にしておく
[eval exp="tf.CardAutoSave=0"]
;ギャラリーフラグの初期化 危ないので
[eval exp="tf.galflag = 0"]
;処女喪失した日のフラグを消す
[eval exp = "tf.lostvirgin = 0"]
;ノーマルでも消してるけどこっちでも念の為消す
[stopvideo]
[stopse buf=1][stopse buf=2]
;スキンの系統別オンオフの設定
[スキンチェッカー]
;裏背景変更処理------------------------------------------------------
;もしピクトギャラリーが初回起動などでならば必ずP2WQ2がイメージで入る
[if exp="sf.PictVisFlag.count == 0"]
[image storage="P2WQ2A" layer=0 page=fore visible=true]
[eval exp="tf.tempMenuPictX = &krkrLeft"]
[else]
;二回目以降の起動などなら、ベース系か通常かを判別に振り分ける
;もし見つかった場合ベース系なので裏メニューのピクトのLEFT0に
[if exp="sf.PictVisFlag[f.m].indexOf('base') >= 0"]
[eval exp="tf.tempMenuPictX = 0"]
[else]
[eval exp="tf.tempMenuPictX = &krkrLeft"]
[endif]
[if exp="isExistImageStorage(sf.PictVisFlag[f.m])"]
[image storage="&sf.PictVisFlag[f.m]" layer=0 page=fore visible=true]
[else]
[image storage="P2WQ2A" layer=0 page=fore visible=true]
[endif]
[endif]
;各種初期化---------------------------------------------------------------
;前回のパーミッションが残るバグがあった為メニューでは必ず初期化!
[eval exp="Permission = 'None'"]
;インデックスの初期化
[インデックス初期化]
[レイヤー初期化]
;カードによるアンロックを判定する----------------------------------
;SHOP.ksでアンロックし、Firstにて効果を発動する。これがカードの本体と言ってもいい
[dCardUnlock]
;-----------------------------------------------------------------------------------------------------------------------------------------------------------
;メッセージレイヤ全消去/「*ラベル名|見出し名」 形式のラベルの次には、この cm タグあるい は ct タグを書くべきです。 ( 栞のロード時にはラベルから実行が始まるが、ロード時には必ずメッセ ージレイヤ上の文字がクリアされるため )。
[cm]
;背景を、baseBlackに変更。ここは必ずこれベースレイヤ・前面
[image storage="base_black" layer=base page=fore]
;[システム|メッセージを消す] メニューを選択したときにメッセージレイヤが隠れますが、 それと同時にこの前景レイヤも隠すかどうかを指定します。
[layopt layer=1 autohide=true]
[layopt layer=2 autohide=true]
;習得値も追加
[layopt layer=6 autohide=true]
[layopt layer=7 autohide=true]
[layopt layer=8 autohide=true]
;射精絶頂を0に
[eval exp="f.EjacSP = 0"]
[eval exp="f.OrgaSP = 0"]
;タイムエフェクトを0に
[eval exp="tf.TimeEffect = 0"]
;スマッシュ回数系初期化
[eval exp="tf.SmashUsed=0"]
[eval exp="tf.SmashMax=int+(f.Ascend/0.6)"]
[eval exp="tf.SmashMax=2" cond="tf.SmashMax<=2"]
[eval exp="tf.SmashMax=5" cond="tf.SmashMax>=5"]
[if exp="f.DateFlag[f.LoopFlag]>=5"]
[eval exp="tf.SmashMax+=1"]
[else]
[endif]
;[if exp="f.EasyMode==1"]
;[eval exp="tf.SmashMax+=1"]
;[endif]
;レイヤ3
[image storage="blank" layer=3]
;タリアヒット回数初期化 本当は要らない
[eval exp="tf.Taria_HitNum=0"]
;レイヤ0を初期化 また、裏のメニュー用に改変したがバグが出る可能性が怖いな…2022年7月1日
[layopt layer = "0" top = "0" left = "&tf.tempMenuPictX"]
;右中クリックをここで再開しているのは、nosaveに飛ばす場合を危惧してのこと
;********右クリック・中ボタンの再開**************
[rclick call = "false" jump = "false" enabled = true][eval exp="f.middleclick = 1"]
;******************************************************
;SXstopを消去する。SXstopはの時動き、の時入力ストップ
;以前までこの位置でキーボード受け付けてたけど、今後メニューでは受け付けないようにする
[eval exp = "tf.SXstop = 1"]
;videoseにseval 本来のSEを代入 これが無いと「ロード時」と「元に戻す」時に前のデータから効果音量を引っ張ってきてしまう
[eval exp = "f.videose = sf.seval"]
;ボタン操作を行うため
[current layer=message1]
[layopt layer=message1 page=fore visible=true ]
;タイトルモードをオフにしている
[eval exp="tf.title = 0"]
;パラメーターの回復と設定------------------------------
;性感とかもここで計算される
[パラメータ再計算]
;-------------------------------------------------------------------------------------
;アンロック
;本当はシナリオセレクトでやりたいけど試したらもっと大変な事に気付いた。1章とか2章のときおかしくなるからね
[if exp="f.LoopFlag == 0"]
;1章へバッドエンド時
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 0"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 0"]
[eval exp="f.UnlockF = 0"]
[elsif exp="f.LoopFlag == 1"]
;2章へ
;腰を振るアンロック
[eval exp="f.UnlockA = 0"]
[eval exp="f.UnlockB = 1"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 0"]
[eval exp="f.UnlockF = 0"]
[elsif exp="f.LoopFlag == 2"]
;3章へ
;指挿入アンロック
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 0"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 0"]
[eval exp="f.UnlockF = 1"]
[elsif exp="f.LoopFlag == 3"]
;好奇心の扉
;好奇心の扉・全表示
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 1"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 1"]
[eval exp="f.UnlockF = 1"]
[elsif exp="f.LoopFlag == 4"]
;エンドレス
;好奇心の扉・全表示
[eval exp="f.UnlockA = 1"]
[eval exp="f.UnlockB = 1"]
[eval exp="f.UnlockC = 1"]
[eval exp="f.UnlockD = 1"]
[eval exp="f.UnlockE = 1"]
[eval exp="f.UnlockF = 1"]
[endif]
[if exp="f.LoopFlag==5"]
;タリア編では壁紙は黒に固定するべきだ
[eval exp="f.WallPaperSelect=0"]
[image storage="base_black" layer=base page=fore]
[endif]
;タリア編一応消す
[layopt layer=message4 visible=false]
;右クリでロゴ残したいので一応消す 後でtrueになる
[layopt layer=5 autohide = false]
;エンドレスのスコアが保持されてしまうので初期化が絶対必要
[eval exp = "tf.All_EXP_Total = 0"]
;ギャラリーフラグをもとに戻す 以前はギャラリーEXITでやってたがここの方が確実なので
[eval exp = "tf.galflag=0"]
;ダウン回復
[eval exp = "tf.down = 0"]
;ダウン追撃回復
[eval exp = "tf.overdown = 0"]
;射精値0にしないと前のを引き継ぐ
[eval exp = "tf.ActExp = 0"]
[eval exp = "tf.ActExpDummy = 0"]
[eval exp = "tf.MathSystemSP = 0"]
[eval exp = "tf.MathSystemEXP = 0"]
[eval exp = "tf.ClickKando = 1"]
[eval exp = "tf.VariableGS = 1"]
;念の為ギャラリーの回想を0にしておく こわいので
[eval exp="f.galkaisou=0"]
;感度倍率を引き継いでいるっぽいぞ ていうかQロードでもおそらく引き継ぐはず 初期化する
[eval exp="tf.MclickNum=0"]
[eval exp="tf.MclickBiasChecker=1"]
;掛け算で使われるので初期値0は不味い
[eval exp="tf.MclickBias=1"]
;f.actを初期化。
[eval exp="f.act='N9WQ9'"]
;f.GameSpeedBuff:コンフィグによって、ゲームスピードを変動させる ただしHP減少が増える
;tf.AllGameSpeed:全てのスピードを司る、ゲーム中に操作できるパラメータに左右されない変数。parameter.ksで設定される
[eval exp = "TimerEffect = (TimerSpeed / 1000) * f.GameSpeedBuff * tf.AllGameSpeed"]
;tf.currentsceneは現在のシーン。SEX・EXIT・MENU・GALLERY・SAVE・LOAD・CONFIG   NEMURI
[eval exp = "tf.currentscene = 'MENU'"]
;afterinitでウェイトを処理するためこの値がになるのは、afterinitで数字キーを押した時のみ ボタンマクロとlinkselectにもある NEMURI SHORT
;だが、ここには要らないかもしれない。というのもロックリンクはHシーンでしか存在しないので、ここにあるのは念のためという意味が強い
[eval exp = "tf.afterinitwait = 0"]
;世界が切り替わった時の処理-----------------------------------------------------------------------------------------------------
;世界が切り替わった場合、自動的に次のシナリオへ飛ばす
[if exp="tf.WorldJump == 1"]
[layopt layer=0 visible=false]
[夢世界へ]
;次の世界にジャンプするフラグ
[eval exp="tf.WorldJump=0"]
;二章OPのみ先に表世界の話が出る
[if exp="f.LoopFlag==1 && f.DateFlag[f.LoopFlag] == 0 && tf.LastLoopFlag==0"]
[eval exp="tf.currentscene = 'STORY'"]
[dStory storage='Story_OP.ks' target='*OP_屋根裏の眠り姫']
[endif]
[wait time = 2000 canskip = false]
;;;[jump storage="NORMAL.ks" target="*storyBefore"]
[endif]
;背景制御------------------------------------------------------------------------------------------------------------------------
[cm]
;メニューの背景を読み込む。
[if exp="tf.Tariaflag == 1"][image storage="base_menu_タリア.jpg" layer=1 top="0" left="0" page=fore visible=true]
[elsif exp="f.Finale==1"][image storage="base_menu_夢の終わり.jpg" layer=1 top="0" left="0" page=fore visible=true]
[elsif exp="f.LoopFlag == 0"][image storage="base_menu_無垢の予兆.jpg" layer=1 top="0" left="0" page=fore visible=true]
[elsif exp="f.LoopFlag == 1"][image storage="base_menu_屋根裏の眠り姫.jpg" layer=1 top="0" left="0" page=fore visible=true]
[elsif exp="f.LoopFlag == 2"][image storage="base_menu_白蝶の日々.jpg" layer=1 top="0" left="0" page=fore visible=true]
[elsif exp="f.LoopFlag == 3"][image storage="base_menu_好奇心の扉.jpg" layer=1 top="0" left="0" page=fore visible=true]
[elsif exp="f.LoopFlag == 4 && f.Endless_Hard==1"][image storage="base_menu_エンドレスハード.jpg" layer=1 top="0" left="0" page=fore visible=true]
[elsif exp="f.LoopFlag == 4"][image storage="base_menu_エンドレス.jpg" layer=1 top="0" left="0" page=fore visible=true]
[else][image storage="base_menu_タリア" layer=1 top="0" left="0" page=fore visible=true]
[endif]
;frame=""はフレームを初期化する!タリア編の時にこれがないとバグるので気をつけて
[position layer="message3" frame="" visible="true" opacity="0" top="0" left="0" width="&krkrWidth" height="&krkrHeight"]
[current layer=message3]
[font face="MSP24"shadow = "false" edge = "false" color="0x233B6C"]
;一瞬で表示させる為
[nowait]
[history output = "false"]
[locate x=705 y=-8][font face="MSP21s" shadow = "false" edge = "false" color="0x233B6C"]FLSH.[locate x=752 y=-7][font face="Ending25"shadow = "false" edge = "false" color="0x233B6C"][emb exp="f.C_TLV"]
[locate x=790 y=-8][font face="MSP21s" shadow = "false" edge = "false" color="0x233B6C"]INS.[locate x=837 y=-7][font face="Ending25"shadow = "false" edge = "false" color="0x233B6C"][emb exp="f.V_TLV"]
[locate x=880 y=-8][font face="MSP21s" shadow = "false" edge = "false" color="0x233B6C"]CUR.[locate x=927 y=-7][font face="Ending25"shadow = "false" edge = "false" color="0x233B6C"][emb exp="f.I_TLV"]
[locate x=970 y=-8][font face="MSP21s" shadow = "false" edge = "false" color="0x233B6C"]ABN.[locate x=1035 y=-7][font face="Ending25"shadow = "false" edge = "false" color="0x233B6C"][emb exp="f.S_TLV"]
;[pimage storage="menu_始める" layer=1 page=fore dx=1135 dy=607]
;エンドレスとタリア除く
[if exp="f.LoopFlag!=4 && f.LoopFlag!=5 "]
;残り日数
[pimage storage="menu_OP" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==0"]
[pimage storage="menu_2日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==1"]
[pimage storage="menu_3日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==2"]
[pimage storage="menu_4日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==3"]
[pimage storage="menu_5日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==4"]
[pimage storage="menu_6日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==5"]
[pimage storage="menu_7日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==6"]
[pimage storage="menu_8日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==7"]
[pimage storage="menu_9日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==8"]
[pimage storage="menu_ED" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==9"]
[font face="MSP16" shadow = "false" edge = "false" color="0xFFFFFF"]
[locate x=900 y=&(20-BMF)]残り日数:[emb exp="(9 - f.DateFlag[f.LoopFlag])"]
[elsif exp="f.LoopFlag==4"]
;残り日数
[pimage storage="menu_OP" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==0"]
[pimage storage="menu_2日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==1"]
[pimage storage="menu_3日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==2"]
[pimage storage="menu_4日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==3"]
[pimage storage="menu_5日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==4"]
[pimage storage="menu_6日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==5"]
[pimage storage="menu_7日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==6"]
[pimage storage="menu_8日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==7"]
[pimage storage="menu_9日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==8"]
[font face="MSP16" shadow = "false" edge = "false" color="0xFFFFFF"]
[locate x=900 y=&(20-BMF)]残り日数:[emb exp="(9 - f.DateFlag[f.LoopFlag])"]
[if exp="f.Endless_Hard==0"]
;エンドレス通常
[pimage storage="menu_ED" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==9"]
[else]
;エンドレスハード
[pimage storage="menu_A日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==9"]
[pimage storage="menu_B日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==10"]
[pimage storage="menu_C日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==11"]
[pimage storage="menu_D日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==12"]
[pimage storage="menu_E日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==13"]
[pimage storage="menu_F日" layer=1 page=fore dx=1120 dy=655 cond="f.DateFlag[f.LoopFlag]==14"]
[endif]
[font face="MSP16" shadow = "false" edge = "false" color="0xFFFFFF"]
[endif]
;------------------------------------------------------------------------------------------------------------------------
;ロードフラグの消去
[eval exp="tf.loaded=0"]
;メッセージレイヤ1(ボタン用)にレイヤを移動。
[current layer=message1]
[layopt layer=message1 page=fore visible=true]
[position layer="message1" visible="true" opacity="0" top="0" left="0" width="&krkrWidth" height="&krkrHeight"]
[eval exp="f.camswitch = 0" cond = "f.CAMERAUPLV == 0"]
;***********************************************************************
;選択と同時に、expによりfreeimage1menu.pngねで消してる
;レイヤ3で花を制御してるけど・・・インデックスとか大丈夫なのかな
;注意するように
[layopt layer=3 index=1001500]
[layopt layer=6 index=7000]
[layopt layer = 9 visible=false]
;最初のOPの時だけ出ないアイコンがあるのでその制御
[if exp="(f.LoopFlag == 0 && f.DateFlag[f.LoopFlag]==0) || f.LoopFlag == 5"]
[eval exp="tf.isOP=1"]
[eval exp="tf.ExitVisCard=0"]
[else]
[eval exp="tf.isOP=0"]
[eval exp="sf.Unlock_Gallery=1"]
[endif]
;オートスキップのあれ!
[eval exp="sf.CurrentReadAutoSkip=0"]
;フォーカスを愛撫系に
[eval exp="f.riverse = 0"]
;----------------------吉里吉里のIFが重い←これ勘違いだー!!!空白入ってたどのエンディングか判定し、更にエンディングにニューマークを付ける NEMURI--------------------------------------------------------------
;バッドエンドフラグを計算する------------------------------------------
[dBadEnd]
;エンディングの数を調べる
[eval exp="tf.EndingList=0"]
;無垢の予兆
[eval exp="tf.EndingList += sf.ScenarioGallery[0][9]"]
;屋根裏の眠り姫
[eval exp="tf.EndingList += sf.ScenarioGallery[1][9]"]
;日々と未来
[eval exp="tf.EndingList += sf.ScenarioGallery[2][9]"]
;花かんむり
[eval exp="tf.EndingList += sf.ScenarioGallery[3][9]"]
;二人の結晶
[eval exp="tf.EndingList += sf.ScenarioGallery[4][9]"]
;アブノな毎日
[eval exp="tf.EndingList += sf.ScenarioGallery[5][9]"]
;少年と少女
[eval exp="tf.EndingList += sf.ScenarioGallery[6][9]"]
;ピクニック
;まどろみの中で
;夢のつづき
;------------------------------------------------------------------------------------------
;ロゴマーク表示
[image storage="m-Logomark.png" layer=5 top="90" left="60" page=fore visible=true]
;右上領域---------------------------------------
;カード
[locate x=1037 y=19][button graphic="M-shop.png" enterse="ピピ改定" clickse="V00_カード.ogg" clicksebuf="2" storage="first.ks" target="*SHOP" exp="kag.fore.layers[1].freeImage() , keycountmain = keycount" recthit=false cond="(tf.isOP!=1 || (f.cardall==1 && f.LoopFlag!=5)) && f.Finale != 1"]
;コンフィグ
[locate x=850 y=70] [button graphic="M-option.png" enterse="ピピ改定" clickse="V00_オプション.ogg" clicksebuf="2" storage="first.ks" target="*CONFIG" exp="kag.fore.layers[1].freeImage() , keycountmain = keycount" recthit=false]
;セーブ
[locate x=940 y=210][button graphic="M-save.png" enterse="ピピ改定" clickse="V00_セーブ.ogg" clicksebuf="2" storage="first.ks" target="*SAVE" exp="keycountmain = keycount" recthit=false]
;ロード
[locate x=1130 y=250][button graphic="M-load.png" enterse="ピピ改定" clickse="V00_ロード.ogg" clicksebuf="2" storage="first.ks" target="*LOAD" exp="keycountmain = keycount" recthit=false]
;ヘルプ
;;;[locate x=1190 y=190][button graphic="B-help.png" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" storage="first.ks" target="*help"]
;下部ギャラリー領域---------------------------------------
[if exp="sf.Unlock_Gallery==1 || f.galleryall == 1"]
;ギャラリー;ピクチャ;イベント;エンディング
[locate x=319 y=572][button graphic="m-Movie.png" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-Gaura.png',visible:true,left: 341,top:586])" onleave="kag.fore.layers[3].freeImage()" enterse="ピピ改定" storage="gallery.ks" exp="tf.GalleryType = 'Movie', kag.fore.layers[1].freeImage() , kag.fore.layers[5].freeImage() ,keycountmain = keycount"]
[locate x=497 y=586][button graphic="m-Picture.png" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-Butterfly.png',visible:true,left: 495,top:577])" onleave="kag.fore.layers[3].freeImage()" enterse="ピピ改定" clickse="jingle01.ogg" storage="gallery.ks" exp="tf.GalleryType = 'Picture', kag.fore.layers[1].freeImage() , kag.fore.layers[5].freeImage() ,keycountmain = keycount"]
[locate x=660 y=580][button graphic="m-Event.png" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-Wind.png',visible:true,left: 675,top:577])" onleave="kag.fore.layers[3].freeImage()" enterse="ピピ改定" clickse="V00_思い出.ogg" storage="gallery.ks" exp="tf.GalleryType = 'Event', kag.fore.layers[1].freeImage() , kag.fore.layers[5].freeImage() ,keycountmain = keycount"]
[locate x=816 y=602][button graphic="m-End.png" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-Star.png',visible:true,left: 831,top:600])" onleave="kag.fore.layers[3].freeImage()" enterse="ピピ改定" clickse="jingle01.ogg" storage="first.ks" target="*endlist"exp="kag.fore.layers[5].freeImage() ,keycountmain = keycount" cond="tf.EndingList >= 2 || f.memoryall==1"]
[endif]
;左部領域--------------------------------------------------
[if exp="(f.memoryall == 1 || f.NM_Diary==1) && f.LoopFlag!=3"]
;眠り姫の日記
[locate x=50 y=250][button exp="tf.DiaryFlag=0" graphic="m-Diary.png" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*DiaryCall" recthit=false]
[elsif exp="(f.memoryall == 1 || f.PP_Diary==1) && f.LoopFlag==3"]
;蝶姫の日記
[locate x=200 y=250][button exp="tf.DiaryFlag=1" graphic="m-Diary02.png" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*DiaryCall" recthit=false]
[endif]
;解説
[locate x=60 y=400][button exp="tf.DiaryFlag=2" graphic="m-Comment.png" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*DiaryCall" recthit=false cond="f.TrophyComp==1 || f.memoryall == 1"]
;-----------------------------シナリオセレクト-----------------------------------------------------------
;頻出タグ
;好奇心の扉のエンディングではベッドが出ない
[if exp="f.Finale != 1"]
;ループフラグによってベッドマークが変わる。
[if exp="f.LoopFlag <= 2"]
;通常
[if exp="tf.BadEndFlag ==1 && (f.DateFlag[f.LoopFlag] == 3 || f.DateFlag[f.LoopFlag] == 4 || (f.LoopFlag == 2 && f.DateFlag[2]>=5 && f.Branch == 'S' && f.StoreEX[1][1][6][0]==0 ) )"]
;ベッドマークウォーニング版。条件未達の時、気付かずに最初に戻されるパターンがあるなと思ったので追加
[locate x=950 y=525][button graphic="m-start.png" enterse="ピピ改定" target="*Warning" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-SelIcon.png',visible:true,left: 950,top:500])" onleave="kag.fore.layers[3].freeImage()" recthit=false]
[else]
;ベッドマーク
[locate x=950 y=525][button graphic="m-start.png" enterse="ピピ改定" target="*ストーリー準備領域" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-SelIcon.png',visible:true,left: 950,top:500])" onleave="kag.fore.layers[3].freeImage()" recthit=false]
[endif]
[elsif exp="f.LoopFlag == 3"]
;通常
[if exp="tf.BadEndFlag ==1 && (f.DateFlag[f.LoopFlag] == 2 || f.DateFlag[f.LoopFlag] == 3 )"]
;ベッドマークウォーニング版。条件未達の時、気付かずに最初に戻されるパターンがあるなと思ったので追加
[locate x=950 y=525][button graphic="m-start.png" enterse="ピピ改定" target="*Warning" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-SelIcon.png',visible:true,left: 950,top:500])" onleave="kag.fore.layers[3].freeImage()" recthit=false]
[else]
;ベッドマーク
[locate x=950 y=525][button graphic="m-start.png" enterse="ピピ改定" target="*ストーリー準備領域" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-SelIcon.png',visible:true,left: 950,top:500])" onleave="kag.fore.layers[3].freeImage()" recthit=false]
[endif]
;4がエンドレス
[elsif exp="f.LoopFlag == 4 && f.Endless_Hard==1"]
;通常
[if exp="tf.BadEndFlag ==1"]
;ベッドマークウォーニング版。条件未達の時、気付かずに最初に戻されるパターンがあるなと思ったので追加
[locate x=950 y=525][button graphic="m-start.png" enterse="ピピ改定" target="*Warning" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-SelIcon.png',visible:true,left: 950,top:500])" onleave="kag.fore.layers[3].freeImage()" recthit=false]
[else]
;ベッドマーク
[locate x=950 y=525][button graphic="m-start.png" enterse="ピピ改定" target="*ストーリー準備領域" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-SelIcon.png',visible:true,left: 950,top:500])" onleave="kag.fore.layers[3].freeImage()" recthit=false]
[endif]
[elsif exp="f.LoopFlag == 5"]
;タリア編(睡眠姦)ベッドマーク
[locate x=950 y=522][button graphic="m-start.png" enterse="ピピ改定" exp="tf.Tariaflag = 1" target="*ストーリー準備領域" recthit=false]
[else]
;ベッドマーク
[locate x=950 y=525][button graphic="m-start.png" enterse="ピピ改定" target="*ストーリー準備領域" onenter = "kag.fore.layers[3].loadImages(%[storage:'m-SelIcon.png',visible:true,left: 950,top:500])" onleave="kag.fore.layers[3].freeImage()" recthit=false]
[endif]
[endif]
;シナリオセレクト(日付リセット)ボタン--------------------------------------------------------------
[locate x=54 y=522][button graphic="m-Endless.png" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*ScenarioSelectDIALOG" recthit=false cond="sf.ScenarioSelectVisible==1 || tf.TempScenarioVis==1 || f.DebugEndless == 1"]
;巻き戻し デバッグコマンド使用時のみ表示
[locate x=200 y=486][button graphic="巻き戻し.png" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*RollBackDIALOG" recthit=false cond="(f.ShowDebug == 1 && f.DebugRollBack==1 && !(f.LoopFlag==5 || f.Finale == 1) )"]
;---------------------------------------------------------------------------------------------------------------------
;リンクの数を取得している
[iscript]
var keynum = kag.fore.messages[1].numLinks;
[endscript]
;ロックリンク開始
[locklink]
;メインがオフの時はBGM流すよ 更に、初日だけは雨が流れる
[if exp = "tf.main != 1 "]
[if exp="f.Finale==1"]
[playbgm storage = "環境音_小鳥.ogg"]
[elsif exp = "f.DateFlag[f.LoopFlag] == 0 || f.LoopFlag==3 || f.LoopFlag==5"]
[playbgm storage = "環境音_木の葉に落ちる雨.ogg"]
[else]
[playbgm storage = "山吹通り.ogg"]
[endif]
[endif]
;メインモードをオンにしている
[eval exp="tf.main = 1"]
[if exp = "tf.keyinitial == 'blank'"]
;キーボード操作用の初期位置設定 keycount=初期位置 keyfirst=移動時に初期値にフォーカスを合わせるか
[eval exp="keycount = 0"]
;[eval exp="keyfirst = 0"]
[eval exp="keycount = keycountkeep"]
[eval exp="keycountkeep = 0"]
;lastmouseではできないこれでうまくいった
[eval exp="kag.primaryLayer.cursorX += 10"]
[eval exp="kag.primaryLayer.cursorY += 10"]
[eval exp="kag.primaryLayer.cursorX -= 10"]
[eval exp="kag.primaryLayer.cursorY -= 10"]
;キーボードからNORMALを抜けた時に強制的にキーカウントにもどす
[eval exp = "keyfirst = 1" cond="tf.autosavekeyboard == 1"]
[eval exp = "keycount = 0" cond="tf.autosavekeyboard == 1"]
[eval exp = "kag.fore.messages[1].setFocusToLink(keycount,true)" cond="tf.autosavekeyboard == 1"]
[eval exp="tf.autosavekeyboard = 0"]
;;[eval exp="kag.hideMouseCursor()"]
[else]
[キーセット keyset = &tf.keyinitial]
[eval exp="tf.keyinitial = 'blank'"]
[endif]
;スタイル一応初期化しておく
[resetstyle]
;タリア編のフラグを0に
[eval exp="tf.Tariaflag = 0"]
;タイトル表示!デバッグにより
[jump storage ="title.ks" cond="tf.LogoSkip!=1 && tf.DebugShortcut != 1"]
[eval exp="sf.skipall=1" cond="tf.DebugShortcut== 1"]
;カットインを消す
[cutin_erase]
;カットイン出現テスト
;[Cutin_Trophy]
[Cutin_Skin]
;ノーウェイト終了
[history output = true enabled=true]
[endnowait]
;各種累計数の計測---------------------------------
;スキンと指定の数を計測 わかりにくかったなここ
;ターゲット数かぞえる 1.04からタイトルで計測する事にした
[eval exp="tf.TargetNum = 0"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][0] == 1 || sf.TargetEXGallery[0][0]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][1] == 1 || sf.TargetEXGallery[0][1]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][2] == 1 || sf.TargetEXGallery[0][2]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][3] == 1 || sf.TargetEXGallery[0][3]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][4] == 1 || sf.TargetEXGallery[0][4]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][5] == 1 || sf.TargetEXGallery[0][5]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][6] == 1 || sf.TargetEXGallery[0][6]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][0] == 1 || sf.TargetEXGallery[1][0]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][1] == 1 || sf.TargetEXGallery[1][1]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][2] == 1 || sf.TargetEXGallery[1][2]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][3] == 1 || sf.TargetEXGallery[1][3]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][4] == 1 || sf.TargetEXGallery[1][4]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][5] == 1 || sf.TargetEXGallery[1][5]==1"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][6] == 1 || sf.TargetEXGallery[1][6]==1"]
;実績の判定
[if exp="tf.TargetNum>=10"]
[if exp="sf.TrophyETC03!=1"]
[eval exp="sf.TrophyETC03=1"]
[eval exp="tf.GetTrophyFlag = 1"]
[Cutin_Trophy]
[endif]
[endif]
[スキンチェッカー計測]
;-----------------------------------------------------------
[eval exp="tf.CountStoreGallery=0"]
[eval exp="tf.CountStoreMemory=0"]
[eval exp="tf.CountStoreTarget=0"]
[eval exp="tf.TrophyNum=0"]
;着衣・脱衣が第一引数
[if exp="sf.StoreEXGallery[1][0][0][1]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][0][1][1]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][0][2][1]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][0][12][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][0][3][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][0][13][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][0][4][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][0][14][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][0][5][0]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][0][15][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][0][6][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][0][16][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][0][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][1][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][2][0]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][1][12][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][3][0]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[0][1][13][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][4][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][14][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][5][1]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][15][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][6][0]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.StoreEXGallery[1][1][16][2]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="1"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.EXvirgin == 1"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.TrophyETC01"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.TrophyETC02"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.TrophyETC03"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.TrophyETC04"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.ScenarioGallery[0][9]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.ScenarioGallery[3][9]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.ScenarioGallery[4][9]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.ScenarioGallery[6][0]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.ScenarioGallery[5][9]"][eval exp="tf.TrophyNum += 1"][endif]
[if exp="sf.ScenarioGallery[6][9]"][eval exp="tf.TrophyNum += 1"][endif]
;合計数を出す
[eval exp="f.TrophyNumTotal = tf.TrophyNum"]
;セーブごとの行為数記録する
[eval exp="tf.CountStoreActAsSave=0"]
;エンディングで設定したディレイがなんか治らなかった事あったので念の為入れておく
[delay speed="user"]
[iscript]
//勝手にオートになってしかも再起動で治らなかった事あったので消しておく
kag.cancelAutoMode();
//ただしタリア編はギャラリーに登録したくないので20まで
for (var i = 0; i <= 1; i++){
for (var n = 0; n <= 1; n++){
for (var m = 0; m <= 20; m++){
for (var k = 0; k <= 2; k++){
try {
tf.CountStoreGallery += sf.StoreEXGallery[i][n][m][k];
}
catch (e) {}
}
}
}
}
for (var i = 0; i <= 6; i++){
for (var n = 0; n <= 10; n++){
try {
tf.CountStoreMemory += sf.ScenarioGallery[i][n];
}
catch (e) {}
}
}
for (var i = 0; i <= 20; i++){
for (var n = 0; n <= 20; n++){
try {tf.CountStoreTarget += f.TargetEX[i][n];}
catch (e) {}
}
}
//行為マスター数
for (var i = 0; i <= 1; i++){
for (var n = 0; n <= 1; n++){
for (var m = 0; m <= 30; m++){
for (var k = 0; k <= 2; k++){
try {
if(f.ActMaster[i][n][m][k]>=1){
tf.CountStoreActAsSave+=1;
}
}
catch (e) {}
}
}
}
}
//射精値0に そうかこれもう使ってないじゃん でも初期化はした方がいいなんかに使いそうだし何より怖いので
for (var i = 0; i <= 1; i++){
for (var n = 0; n <= 1; n++){
for (var m = 0; m <= 30; m++){
f.StoreActSP[i][n][m] = 0;
}
}
}
[endscript]
[eval exp="sf.CountStoreGallery = tf.CountStoreGallery"]
[eval exp="sf.CountStoreMemory = tf.CountStoreMemory"]
[eval exp="sf.CountStoreTarget = tf.CountStoreTarget"]
[eval exp="tf.ResAct=(sf.CountStoreGallery/120*100)"]
[eval exp="tf.ResPict=(sf.GotPictTotal/tf.PictName.count*100)"]
[eval exp="tf.ResStory=(sf.CountStoreMemory/58*100)"]
[eval exp="tf.ResTarget=(sf.CountStoreTarget/14*100)"]
[eval exp="tf.ResSkin=(tf.SkinNumTOTAL/46*100)"]
[eval exp="tf.ResTrophy=(sf.TrophyNumTotal/36*100)"]
[eval exp="tf.ResTotal=int+( (int+(tf.ResAct) + int+(tf.ResPict) + int+(tf.ResStory) + int+(tf.ResTarget) + int+(tf.ResSkin) + int+(tf.ResTrophy) ) / 6)"]
;あれえ?これ初期化してなかったっけ…
[eval exp="f.EjacSP = 0"]
[eval exp="f.OrgaSP = 0"]
;クイックロード禁止フラグ 更にEnabledがあり、併用される
[eval exp="lCanQuickLoadFlag=0"]
[eval exp="lCanQuickLoadEnabled=0"]
;一日の終りに一度だけ強制的にカードに飛ばしている。
;更に、一番最初のOPの時のみカードに飛ばさない
[if exp="tf.ExitVisCard == 1"]
[eval exp="kag.fore.layers[1].freeImage() , keycountmain = keycount"]
[eval exp="tf.ExitVisCard = 0"]
[jump storage="first.ks" target="*SHOP"]
[endif]
;その日のTick計算
[eval exp="lDayTick=0"]
;カードから出る時連打するとすぐベッド行っちゃうので一泊置く
[wait canskip=false time=200]
;ロックリンク解除
[unlocklink]
;------------------------------------------------------------------------------------------------------------------------
;取得済みの物を再判定する念の為のシステム--------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------------------
;いや失敗したな ギャラリーはセーブごとじゃなく本体で解除するべきだ!!!馬鹿な事した
[if exp="f.CheatUnlock_ABnormal==1"]
[eval exp="SkinCheck('F1WQ2')"]
[eval exp="SkinCheck('B1WQ6')"]
[eval exp="SkinCheck('O1WQ3')"]
[dImageChecker img = 'D8WQ9D']
[dImageChecker img = 'EXVANAL1']
[dImageChecker img = 'EXVANAL2']
[dImageChecker img = 'M1WQ2G']
[dImageChecker img = 'D1WQ1B']
[dImageChecker img = 'O1WQ1C2']
[dImageChecker img = 'O1WQ1C1']
[dImageChecker img = 'O1WQ3B1']
[dImageChecker img = 'P2WQ2F3']
[dImageChecker img = 'S1WQ1A']
[dImageChecker img = 'base_P9WQ1A']
[dImageChecker img = 'N3WQ3B']
[dImageChecker img = 'F1WQ2D']
[dImageChecker img = 'B8WQ1D']
[dImageChecker img = 'B8WQ2B']
[dImageChecker img = 'N3WQ4A']
[dImageChecker img = 'B1WQ2B']
[dImageChecker img = 'B8WQ1A']
[dImageChecker img = 'B8WQ1B']
[dImageChecker img = 'D8WQ1A']
[dImageChecker img = 'D8WQ9A']
[dImageChecker img = 'D8WQ9B']
[dImageChecker img = 'B8WQ2A']
[dImageChecker img = 'B8WQ2B']
[dImageChecker img = 'B8WQ1C']
[dImageChecker img = 'B8WQ1D']
[dImageChecker img = 'K8WQ1A']
[dImageChecker img = 'D8WQ9C']
[dImageChecker img = 'S8WQ1A']
[dImageChecker img = 'D8WQ8A']
[dImageChecker img = 'F6WQ6A']
[dImageChecker img = 'D8WQ7A']
[eval exp="sf.ScenarioGallery[5][4]=1"]
[eval exp="sf.ScenarioGallery[5][5]=1"]
[eval exp="sf.ScenarioGallery[5][6]=1"]
[eval exp="sf.ScenarioGallery[5][7]=1"]
[eval exp="sf.ScenarioGallery[5][8]=1"]
[eval exp="sf.ScenarioGallery[5][9]=1"]
[eval exp="sf.StoreGallery[0][1][6][0]=1"]
[eval exp="sf.StoreGallery[0][1][6][1]=1"]
[eval exp="sf.StoreGallery[0][1][6][2]=1"]
[eval exp="sf.StoreGallery[1][1][6][0]=1"]
[eval exp="sf.StoreGallery[1][1][6][1]=1"]
[eval exp="sf.StoreGallery[1][1][6][2]=1"]
[eval exp="sf.StoreGallery[0][1][16][2]=1"]
[eval exp="sf.StoreGallery[1][1][16][2]=1"]
[eval exp="sf.StoreEXGallery[0][1][6][0]=1"]
[eval exp="sf.StoreEXGallery[0][1][6][1]=1"]
[eval exp="sf.StoreEXGallery[0][1][6][2]=1"]
[eval exp="sf.StoreEXGallery[1][1][6][0]=1"]
[eval exp="sf.StoreEXGallery[1][1][6][1]=1"]
[eval exp="sf.StoreEXGallery[1][1][6][2]=1"]
[eval exp="sf.StoreEXGallery[0][1][16][2]=1"]
[eval exp="sf.StoreEXGallery[1][1][16][2]=1"]
[eval exp="f.ActMaster[0][1][6][0]=1"]
[eval exp="f.ActMaster[0][1][6][1]=1"]
[eval exp="f.ActMaster[0][1][6][2]=1"]
[eval exp="f.ActMaster[1][1][6][0]=1"]
[eval exp="f.ActMaster[1][1][6][1]=1"]
[eval exp="f.ActMaster[1][1][6][2]=1"]
[eval exp="f.ActMaster[0][1][16][2]=1"]
[eval exp="f.ActMaster[1][1][16][2]=1"]
[eval exp="f.StoreEX[0][1][6][0]=1"]
[eval exp="f.StoreEX[0][1][6][1]=1"]
[eval exp="f.StoreEX[0][1][6][2]=1"]
[eval exp="f.StoreEX[1][1][6][0]=1"]
[eval exp="f.StoreEX[1][1][6][1]=1"]
[eval exp="f.StoreEX[1][1][6][2]=1"]
[eval exp="f.StoreEX[0][1][16][2]=1"]
[eval exp="f.StoreEX[1][1][16][2]=1"]
;指定射精
[eval exp="f.TargetEX[1][6] = 1"]
[eval exp="sf.TargetEXGallery[1][6]=1"]
[eval exp="SkinCheck('B1WQ4')"]
[eval exp="SkinCheck('K3WQ2')"]
[eval exp="SkinCheck('S1WQ5')"]
[eval exp="SkinCheck('S6WQ1')"]
[eval exp="SkinCheck('S6WQ4')"]
[eval exp="SkinCheck('B8WQ1')"]
[eval exp="SkinCheck('D8WQ9')"]
[eval exp="SkinCheck('D8WQ1')"]
[eval exp="SkinCheck('F7WQ1')"]
[eval exp="SkinCheck('K1WQ9')"]
[eval exp="SkinCheck('M4WQ4')"]
[eval exp="SkinCheck('S8WQ1')"]
[Cutin_Skin]
[endif]
;イベントがDoneされていたらチェックを行う 念の為の処理…本当にバグ出てるのかやる分には間違いないか…ちょっと怖いけど
[if exp="f.DoneEjacEvent[2][2]==1"][eval exp="SkinCheck('K1WQ3')"][endif]
[if exp="f.DoneEjacEvent[3][2]==1"][eval exp="SkinCheck('O1WQ4')"][endif]
[if exp="f.DoneEjacEvent[4][2]==1"][eval exp="SkinCheck('F2WQ3')"][endif]
[if exp="f.DoneEjacEvent[5][2]==1"][eval exp="SkinCheck('M1WQ3')"][endif]
[if exp="f.DoneOrgaEvent[1][2]==1"][eval exp="SkinCheck('D1WQ3')"][endif]
[if exp="f.DoneOrgaEvent[2][2]==1"][eval exp="SkinCheck('S3WQ2')"][endif]
[if exp="f.DoneOrgaEvent[3][2]==1"][eval exp="SkinCheck('F1WQ3')"][endif]
[if exp="f.DoneOrgaEvent[4][2]==1"][eval exp="SkinCheck('M2WQ1')"][eval exp="SkinCheck('M2WQ2')"][endif]
[if exp="f.DoneOrgaEvent[5][2]==1"][eval exp="SkinCheck('D8WQ1')"][endif]
[if exp="f.DoneOrgaEvent[6][2]==1"][eval exp="SkinCheck('S6WQ3')"][endif]
[s]
;------------------------------------------------------------------------------------------------------------------
;linkselect終了----------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------------
*RollBackDIALOG
;----------------------------------------------------------------
;********右クリックの禁止・中ボタンの禁止**************
[rclick enabled = false][eval exp="f.middleclick = 0"]
;******************************************************
[current layer=message2]
[layopt layer=message2 visible = true top = 0 left = 0]
;観察系の時にヘルプ出すと残ってしまう。それを阻止する
[layopt layer=4 visible=false]
;HPなどの表示------------------------------------------
;HELPの挙動を修正、SXstopする
[eval exp = "tf.SXstop = 1"]
[image storage="RollbackWarning.png" layer=3 page=fore top = "100" left = "300" visible ="true"]
[playse buf=1 storage="警告音.ogg"]
[wait canskip=false time=1500]
[locate x=532 y=430][button graphic="YesNoDialog_YesButton.png" storage="first.ks" target="*RollbackDIALOG_Continue" cond="f.DateFlag[f.LoopFlag] > 0"]
[locate x=642 y=430][button graphic="YesNoDialog_NoButton.png" storage="first.ks" target="*linkselectnosave"]
[s]
*RollbackDIALOG_Continue
[eval exp="f.DateFlag[f.LoopFlag] -= 1" cond="f.DateFlag[f.LoopFlag] > 0"]
[playse buf=1 storage="時計秒針.ogg"]
;デバッグ使用したよのマーク
[eval exp="f.DebugUsed=1"]
[fadeoutse time = 3000 buf=1]
[wait time=3000 canskip=false]
[jump storage="first.ks" target="*linkselectnosave"]
[s]
*ScenarioSelectDIALOG
;----------------------------------------------------------------
;********右クリックの禁止・中ボタンの禁止**************
[rclick enabled = false][eval exp="f.middleclick = 0"]
;******************************************************
[current layer=message2]
[layopt layer=message2 visible = true top = 0 left = 0]
;観察系の時にヘルプ出すと残ってしまう。それを阻止する
[layopt layer=4 visible=false]
;HPなどの表示------------------------------------------
;HELPの挙動を修正、SXstopする
[eval exp = "tf.SXstop = 1"]
[image storage="ScenarioWarning.png" layer=3 page=fore top = "100" left = "300" visible ="true"]
[playse buf=1 storage="警告音.ogg"]
[wait canskip=false time=1500]
[locate x=532 y=500][button graphic="YesNoDialog_YesButton.png" storage="first.ks" target="*ScenarioSelect_Continue"]
[locate x=642 y=500][button graphic="YesNoDialog_NoButton.png" storage="first.ks" target="*linkselectnosave"]
[s]
*ScenarioSelect_Continue
;日付を0に戻す
;シナリオセレクト発動
[eval exp="tf.ScenarioSelect = 1"]
;途中でリセしたフラグ
[eval exp="tf.ScenarioReset = 1"]
;クイックロードは禁止にするべきだ
[eval exp="lCanQuickLoadFlag=0"]
[eval exp="lCanQuickLoadEnabled=0"]
;;念のためここでもエンディングフラグを消す
;;[eval exp="f.Finale=0"]
;BlackTrans領域------------------
;ヒューマンエラー回避の為ストップビデオを行う。
[stopvideo]
[stopbgm]
[backlay]
;2022年5月12日メッセージレイヤもトランスするよう追加
[layopt layer=message0 page=back visible=false]
[layopt layer=message1 page=back visible=false]
[layopt layer=message2 page=back visible=false]
[layopt layer=message3 page=back visible=false]
[layopt layer=0 page=back visible=false]
[layopt layer=1 page=back visible=false]
[layopt layer=2 page=back visible=false]
[layopt layer=3 page=back visible=false]
[layopt layer=4 page=back visible=false]
[layopt layer=5 page=back visible=false]
[image storage="base_black" layer=base page=back]
[trans method=crossfade time=2000]
[wt canskip=false]
[wait canskip = false time = 1500]
;--------------------------------------------
[jump storage="NORMAL.ks" target="*次の世界へ"]
;----------------------------------------------------------------
*StatusCall
;ステータスのコール専用
[call storage="SHOP.ks" target="*StatusCallMain"]
;もとに戻す
[jump storage = "first.ks" target = "*linkselectnosave"]
*DiaryCall
;ダイアリーのコール専用
[call storage="Diary.ks" target="*DiaryCallMain"]
;もとに戻す
[jump storage = "first.ks" target = "*linkselectnosave"]
*ストーリー準備領域
[cm]
;クイックセーブも行われる
[save place = 50]
[playse buf=1 storage="jingle01.ogg"]
;レイヤ0を念の為初期化 これがあると裏メニューが初期化されてベースの時出てこれないが…うーむ
[layopt layer = "0" top = "0" left = "&krkrLeft"]
;ロゴマーク削除
[freeimage layer=5]
[layopt layer=5 left="&krkrLeft" visible=false]
;f.StoreLV行為のレベル
;f.ActEXFlag EXが一度でも行われたか。ギャラリーで星が計上されてしまっていた
;ギャラリーの時のみ初期化を行う
[if exp="tf.galflag == 1"]
;レベルを初期化する。
[iscript]
for (var i = 0; i <= 1; i++){
for (var n = 0; n <= 1; n++){
for (var m = 0; m <= 30; m++){
tf.DummyStoreLV[i][n][m] = f.StoreLV[i][n][m];
}
}
}
for (var i = 0; i <= 1; i++){
for (var n = 0; n <= 1; n++){
for (var m = 0; m <= 30; m++){
f.StoreLV[i][n][m] = 0;
}
}
}
for (var i = 0; i <= 1; i++){
for (var n = 0; n <= 1; n++){
for (var m = 0; m <= 30; m++){
for (var k = 0; k <= 2; k++){
try {tf.DummyActFlag[i][n][m][k] = f.ActFlag[i][n][m][k];}
catch (e) {}
}
}
}
}
tf.DummyDesire=f.AD_EXP;
f.AD_EXP=50;
[endscript]
;02_秘部責める
[eval exp="f.StoreLV[0][0][12] = 2"]
[eval exp="f.StoreLV[1][0][12] = 2"]
;06_逆道具
[eval exp="f.StoreLV[0][0][16] = 2"]
[eval exp="f.StoreLV[1][0][16] = 2"]
;B02_逆騎乗
[eval exp="f.StoreLV[0][1][12] = 2"]
[eval exp="f.StoreLV[1][1][12] = 2"]
;C03_逆後背
[eval exp="f.StoreLV[0][1][13] = 2"]
[eval exp="f.StoreLV[1][1][13] = 2"]
;E05_搾精
[eval exp="f.StoreLV[0][1][15] = 2"]
[eval exp="f.StoreLV[1][1][15] = 2"]
;F06_逆アナル
[eval exp="f.StoreLV[0][1][16] = 2"]
[eval exp="f.StoreLV[1][1][16] = 2"]
[endif]
;インデックス処理を行う--------------------------------------------------------------------------------
;これが無いとexitする時に文字が隠れる
[layopt layer=message2 index = "1001000"]
;アクションの初期化
[dSetAction]
;ステータステキストの初期化
[eval exp="f.StatTxtFlag=''"]
[eval exp="f.button = '*button1'"]
[eval exp="f.NORMAL = '*NORMAL1'"]
[eval exp="f.EXIT = '*EXIT1'"]
;Hシーンなので夢世界へ
[夢世界へ]
;タリア編では必ず表なので
[if exp="tf.Tariaflag == 1"]
[eval exp="f.Love = 0"]
[eval exp="f.Yume = false"]
[endif]
[jump target="*SKIPSELECT"]
*select_OP
;select_OPは;眠り姫から追加。デバッグしやすいかと思った
[cm]
[eval exp="f.NORMAL = '*NORMAL_OP'"]
;OPは表世界から始まる
[表世界へ]
[jump storage="NORMAL.ks" target="*NORMAL_OP"]
*SKIPSELECT
;スキップするかを選ぶ。更にギャラリーモードへの入り口にもなるだろう
;リンク数の初期化
[キーリンク初期化]
;ここでBGMをストップさせている
[wb][stopbgm]
[if exp="f.NORMAL == '*NORMAL1' && (f.newgameplus == 1)"]
[jump storage="first.ks" target="*NORMALSELECT"]
[else]
;メッセージ履歴にメッセージ描画するの禁止!
[history output = "false"]
[cm]
[link target='*NORMALSELECT']Do not skip[endlink][r]
[link target='*FJUMP']Skip[endlink][r]
;メッセージ履歴にメッセージ描画することを許可!
[history output = "true"]
[s]
[endif]
*NORMALSELECT
;ここで各ストーリーに振り分けられるんにゃ
;リンク数の初期化
[キーリンク初期化]
[jump storage="NORMAL.ks" target="*storyBefore"]
*FJUMP
;リンク数の初期化
[キーリンク初期化]
;
;ウェイトキャッチ
[eval exp="f.waitcatch = 1"]
[eval exp="f.initial = 0" ]
[jump target="&f.button"]
*button1
;ボタンマクロは、動画を流していない時にカメラを動かすとエラーになるので最初だけイニシャルが発動する
[if exp="f.initial == 0"]
[if exp="f.riverse == 0"][BUTMACRO][s][endif]
[if exp="f.riverse == 1"][BUTMACROR][s][endif]
[else]
;このfは非常に重要オールカメラの中枢を担っている。これがないとオールカメラの挙動がおかしくなる
[if exp="f.camswitch==0"]
;①この[s]は、オールカメラの為に追加された。これがないと「絶対に」バグる。
;②一見f.riverseとの並びがおかしいけどこれで有ってる。
[if exp="f.riverse == 0"][BUTMACRO][s][endif]
[if exp="f.riverse == 1"][BUTMACROR][s][endif]
[endif]
;;;;;;;;;;;;;;ここからオールカメラ用!!;;;;;;;;;;;;;;;;;;
;オールカメラ用のマクロ。
[if exp="f.camswitch==1"][cammacro][endif]
;;;;;;;;;;;;;;ここまでオールカメラ用;;;;;;;;;;;;;;;;;;;;;;;
*buttoninitial
;ボタンの再読み込みを行う。
[eval exp="tf.keycountkeyboard = 1" cond="System.getKeyState(VK_C) || System.getKeyState(VK_Z) || System.getKeyState(VK_RETURN)"]
;割り込みの禁止
[if exp="lVisWindow != true"]
;2024年3月25日 射精した瞬間に全力で連打するとボタンが出たままになるというすごい地味なバグを治す
[if exp="TickStop==1"][wait time=500 canskip=false][endif]
;これが無いと右クリする度にウェイトキャッチで止まっちゃうなの
[eval exp="f.waitcatch = 1"]
;UI更新
[dSetAction]
[if exp="f.riverse == 1"]
;ここと、下のBUTMACROが逆になってた
[BUTMACROR][s]
[endif]
[if exp="f.riverse == 0"]
[BUTMACRO][s]
[endif]
;PCが重い時、処理速度の関係で連打されるパターンが稀だがある。それを防ぐ
;違うわ…これマウス壊れてるだけだ でもある分にはセーフティとして良いので残す
[locklink]
[wait time=15 canskip=false]
[unlocklink]
[endif]
*buttonR
;キーボード操作の時に行為切り替えで確実にキーカウントを0にし、フォーカスするため
;なぜこんなまわりくどいことをするかというとロースペックPCで切り替えでキーカウントを初期化しない自体が起こったため
[eval exp="tf.keycountkeyboard = 1" cond="System.getKeyState(VK_C) || System.getKeyState(VK_Z) || System.getKeyState(VK_RETURN)"]
;右クリ判定
[eval exp="tf.RclickPushed=1"]
;あれcutineraseじゃなくてこっちの方がいいのでは
[cutin_erase]
[playse buf="3" storage="ヒュッ.ogg" loop = "false"]
;これが無いと右クリする度にウェイトキャッチで止まっちゃうなの
[eval exp="f.waitcatch = 1"]
[if exp="f.riverse == 1"]
[eval exp="f.riverse = 0"]
[BUTMACRO]
[else]
[eval exp="f.riverse = 1"]
[BUTMACROR]
[endif]
[s]
*seiyu1
[dPlayMovie]
[cammacro]
[jump storage="first.ks" target="&f.button"]
*seiyu2
[dPlayMovie]
[cammacro]
[jump storage="first.ks" target="&f.button"]
*seiyu3
[dPlayMovie]
[cammacro]
[jump storage="first.ks" target="&f.button"]
*SHOP
;メッセージ履歴にメッセージ描画するの禁止!
[history output = "false"]
;ポイント用の変数の定義を行っている!重要!!
[layopt layer=message1 visible=false]
[layopt layer=1 visible=false]
[layopt layer=2 visible=false]
;\ 演算子 左辺を右辺で割った値となる。値は整数として扱われます
;f.tenを定義しないとiscriptがエラーで落ちる。
;maxlpは現在のLP最大値
;usedlpは使用したLP。これをmaxlpから引いたものが
;currentlpとなる。currentlpが通常、ゲーム画面に表示される
[eval exp="f.currentlp = f.maxlp - f.usedlp - f.usedlpAB"]
[eval exp="f.lvten = f.TLV \ 10"]
[eval exp="f.lvone = f.TLV % 10"]
[eval exp="f.lphyaku = f.currentlp \ 100"]
[eval exp="f.lpten = f.currentlp \ 10"]
[eval exp="f.lpten = f.lpten % 10"]
[eval exp="f.lpone = f.currentlp % 10"]
;100以上の時の表示バグを防ぐため 推敲の余地がある なんか必要なさそうね
[if exp="f.TLV >= 100"]
[eval exp="f.lvten = 9"]
[eval exp="f.lvone = 9"]
[endif]
;[SHOPTRANS]
[jump storage="SHOP.ks" target=*SHOPMAIN]
*help
;ヘルプを呼び出す。
[helpcall]
[jump storage="first.ks" target="*linkselectnosave"]
*Warning
;ステータス未達の時、警告を出す
;エンディングの時は出さない
[if exp="tf.ScenarioEndFlag!=1"]
[WarningCall]
[endif]
[jump storage="first.ks" target="*ストーリー準備領域"]
*dHelp_Status
[er]
;初期化しないとミニヘルプがおかしくなるようだ
[position layer=message3 page=fore frame="" left = 0 top = 0 marginl=8 ]
;ページ初期化
[eval exp="tf.HelpPage=0"]
;ヘルプのページ制御。macro側で値を設定し、ここで表示。
*Help_Status
[if exp ="tf.HelpIconFlag == 1"]
[playse buf = "1" storage="テン" loop="false"][layopt layer=message2 visible=false]
;クリックされていなければ戻す
[eval exp="tf.HelpPage -= 1" cond="tf.HelpClicked!=1"]
;クリックされていたら1増やす
[eval exp="tf.HelpPage += 1" cond="tf.HelpClicked==1"]
[if exp ="tf.HelpPage == 1"][image storage="Help_Status1.png" layer=3 page=fore top = 0 visible ="true"]
[elsif exp ="tf.HelpPage == 2"][image storage="Help_Status2.png" layer=3 page=fore top = 0 visible ="true"]
[elsif exp ="tf.HelpPage == 3"][image storage="Help_Status3.png" layer=3 page=fore top = 0 visible ="true"]
[else][eval exp ="tf.HelpPage = 0"][jump target="*help_continue" storage="first.ks"]
[endif]
;tf.HelpClickedはCutin_Helpで初期化される。更に右クリックで
[Cutin_Help]
[rclick jump=true target=*Help_Status storage=first.ks enabled=true][p]
;クリックされたなら進む
[eval exp="tf.HelpClicked=1"][jump target="*Help_Status" storage="first.ks"]
[endif]
*Help_Action
[if exp ="tf.HelpIconFlag == 2"]
[playse buf = "1" storage="テン" loop="false"][layopt layer=message2 visible=false]
;クリックされていなければ戻す
[eval exp="tf.HelpPage -= 1" cond="tf.HelpClicked!=1"]
;クリックされていたら1増やす
[eval exp="tf.HelpPage += 1" cond="tf.HelpClicked==1"]
[if exp ="tf.HelpPage == 1"][image storage="Help_Action1.png" layer=3 page=fore top = 0 visible ="true"]
[elsif exp ="tf.HelpPage == 2"][image storage="Help_Action2.png" layer=3 page=fore top = 0 visible ="true"]
[else][eval exp ="tf.HelpPage = 0"][jump target="*help_continue" storage="first.ks"]
[endif]
;tf.HelpClickedはCutin_Helpで初期化される。更に右クリックで
[Cutin_Help]
[rclick jump=true target=*Help_Action storage=first.ks enabled=true][p]
;クリックされたなら進む
[eval exp="tf.HelpClicked=1"][jump target="*Help_Action" storage="first.ks"]
[endif]
*Help_EXP1
[if exp ="tf.HelpIconFlag == 3"]
[current layer=message3]
[layopt visible=false layer=message3]
[er]
[current layer=message2]
[Cutin_Help]
[image storage="Help_EXP.png" layer=3 page=fore top = 0 visible ="true"]
[playse buf = "1" storage="テン" loop="false"]
;右クリ時にページ移動
;;[layopt layer=message2 visible=false][rclick jump=true target=*help_continue storage=first.ks enabled=true][p][eval exp="tf.HelpClicked=1"]
[locate x=230 y=165][button recthit="false" exp="tf.HelpAct=0, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][0][f.StoreLV[tf.NudeType][0][0]]" cond="sf.StoreGallery[0][0][0][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "]
[locate x=230 y=225][button recthit="false" exp="tf.HelpAct=1, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][1][f.StoreLV[tf.NudeType][0][1]]" cond="sf.StoreGallery[0][0][1][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "]
[locate x=230 y=285][button recthit="false" exp="tf.HelpAct=2, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][2][f.StoreLV[tf.NudeType][0][2]]" cond="sf.StoreGallery[0][0][2][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=370 y=285][button recthit="false" exp="tf.HelpAct=12, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][12][f.StoreLV[tf.NudeType][0][12]]" cond="sf.StoreGallery[0][0][12][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=230 y=345][button recthit="false" exp="tf.HelpAct=3, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][3][f.StoreLV[tf.NudeType][0][3]]" cond="sf.StoreGallery[0][0][3][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=370 y=345][button recthit="false" exp="tf.HelpAct=13, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][13][f.StoreLV[tf.NudeType][0][13]]" cond="sf.StoreGallery[0][0][13][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=230 y=405][button recthit="false" exp="tf.HelpAct=4, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][4][f.StoreLV[tf.NudeType][0][4]]" cond="sf.StoreGallery[0][0][4][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=370 y=405][button recthit="false" exp="tf.HelpAct=14, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][14][f.StoreLV[tf.NudeType][0][14]]" cond="sf.StoreGallery[0][0][14][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=230 y=465][button recthit="false" exp="tf.HelpAct=5, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][5][f.StoreLV[tf.NudeType][0][5]]" cond="sf.StoreGallery[0][0][5][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=370 y=465][button recthit="false" exp="tf.HelpAct=15, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][15][f.StoreLV[tf.NudeType][0][15]]" cond="sf.StoreGallery[0][0][15][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=230 y=525][button recthit="false" exp="tf.HelpAct=6, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][6][f.StoreLV[tf.NudeType][0][6]]" cond="sf.StoreGallery[0][0][6][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=370 y=525][button recthit="false" exp="tf.HelpAct=16, tf.HelpInsert=0" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][0][16][f.StoreLV[tf.NudeType][0][16]]" cond="sf.StoreGallery[0][0][16][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=620 y=165][button recthit="false" exp="tf.HelpAct=0, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][0][f.StoreLV[tf.NudeType][1][0]]" cond="sf.StoreGallery[0][1][0][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "]
[locate x=620 y=225][button recthit="false" exp="tf.HelpAct=1, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][1][f.StoreLV[tf.NudeType][1][1]]" cond="sf.StoreGallery[0][1][1][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "]
[locate x=620 y=285][button recthit="false" exp="tf.HelpAct=2, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][2][f.StoreLV[tf.NudeType][1][2]]" cond="sf.StoreGallery[0][1][2][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=760 y=285][button recthit="false" exp="tf.HelpAct=12, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][12][f.StoreLV[tf.NudeType][1][12]]" cond="sf.StoreGallery[0][1][12][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=620 y=345][button recthit="false" exp="tf.HelpAct=3, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][3][f.StoreLV[tf.NudeType][1][3]]" cond="sf.StoreGallery[0][1][3][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=760 y=345][button recthit="false" exp="tf.HelpAct=13, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][13][f.StoreLV[tf.NudeType][1][13]]" cond="sf.StoreGallery[0][1][13][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=620 y=405][button recthit="false" exp="tf.HelpAct=4, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][4][f.StoreLV[tf.NudeType][1][4]]" cond="sf.StoreGallery[0][1][4][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=760 y=405][button recthit="false" exp="tf.HelpAct=14, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][14][f.StoreLV[tf.NudeType][1][14]]" cond="sf.StoreGallery[0][1][14][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=620 y=465][button recthit="false" exp="tf.HelpAct=5, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][5][f.StoreLV[tf.NudeType][1][5]]" cond="sf.StoreGallery[0][1][5][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=760 y=465][button recthit="false" exp="tf.HelpAct=15, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][15][f.StoreLV[tf.NudeType][1][15]]" cond="sf.StoreGallery[0][1][15][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[locate x=620 y=525][button recthit="false" exp="tf.HelpAct=6, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][6][f.StoreLV[tf.NudeType][1][6]]" cond="sf.StoreGallery[0][1][6][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0) "][locate x=760 y=525][button recthit="false" exp="tf.HelpAct=16, tf.HelpInsert=1" target="*dStatJump" graphic="&tf.WQpng[tf.NudeType][1][16][f.StoreLV[tf.NudeType][1][16]]" cond="sf.StoreGallery[0][1][16][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[pimage storage="dStat01.png" layer=3 page=fore dx=215 dy=173 visible ="true" cond="sf.StoreGallery[0][0][0][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[pimage storage="dStat02.png" layer=3 page=fore dx=229 dy=238 visible ="true" cond="sf.StoreGallery[0][0][1][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[if exp="sf.StoreGallery[0][0][12][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat03.png" layer=3 page=fore dx=355 dy=293 visible ="true" cond="sf.StoreGallery[0][0][2][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat03.png" layer=3 page=fore dx=215 dy=293 visible ="true" cond="sf.StoreGallery[0][0][2][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][0][13][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat04.png" layer=3 page=fore dx=355 dy=353 visible ="true" cond="sf.StoreGallery[0][0][3][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat04.png" layer=3 page=fore dx=215 dy=353 visible ="true" cond="sf.StoreGallery[0][0][3][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][0][14][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat05.png" layer=3 page=fore dx=355 dy=413 visible ="true" cond="sf.StoreGallery[0][0][4][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat05.png" layer=3 page=fore dx=215 dy=413 visible ="true" cond="sf.StoreGallery[0][0][4][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][0][15][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat06.png" layer=3 page=fore dx=355 dy=473 visible ="true" cond="sf.StoreGallery[0][0][5][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat06.png" layer=3 page=fore dx=215 dy=473 visible ="true" cond="sf.StoreGallery[0][0][5][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][0][16][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat07.png" layer=3 page=fore dx=355 dy=533 visible ="true" cond="sf.StoreGallery[0][0][6][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat07.png" layer=3 page=fore dx=215 dy=533 visible ="true" cond="sf.StoreGallery[0][0][6][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[pimage storage="dStat08.png" layer=3 page=fore dx=605 dy=173 visible ="true" cond="sf.StoreGallery[0][1][0][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[pimage storage="dStat08.png" layer=3 page=fore dx=605 dy=233 visible ="true" cond="sf.StoreGallery[0][1][1][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"]
[if exp="sf.StoreGallery[0][1][12][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat09.png" layer=3 page=fore dx=745 dy=293 visible ="true" cond="sf.StoreGallery[0][0][2][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat09.png" layer=3 page=fore dx=605 dy=293 visible ="true" cond="sf.StoreGallery[0][1][2][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][1][13][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat09.png" layer=3 page=fore dx=745 dy=353 visible ="true" cond="sf.StoreGallery[0][0][3][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat09.png" layer=3 page=fore dx=605 dy=353 visible ="true" cond="sf.StoreGallery[0][1][3][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][1][14][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat09.png" layer=3 page=fore dx=745 dy=413 visible ="true" cond="sf.StoreGallery[0][0][4][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat09.png" layer=3 page=fore dx=605 dy=413 visible ="true" cond="sf.StoreGallery[0][1][4][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][1][15][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat10.png" layer=3 page=fore dx=745 dy=473 visible ="true" cond="sf.StoreGallery[0][0][5][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat10.png" layer=3 page=fore dx=605 dy=473 visible ="true" cond="sf.StoreGallery[0][1][5][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[if exp="sf.StoreGallery[0][1][16][2] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][pimage storage="dStat11.png" layer=3 page=fore dx=762 dy=533 visible ="true" cond="sf.StoreGallery[0][0][6][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][else][pimage storage="dStat11.png" layer=3 page=fore dx=622 dy=533 visible ="true" cond="sf.StoreGallery[0][1][6][0] == 1 || (f.galleryall == 1 && tf.galflag==1) || (f.sceneall == 1 && tf.galflag==0)"][endif]
[locate x=&tf.helpMarginx+950 y=60][button storage = "first.ks" target="*help_continue" clickse="テン" graphic="help-exit.png"]
[current layer=message2]
[font face="S28Font" bold = false shadow =false edge=false color = 0x1E90FF]
;本体
[history output = true]
[endnowait]
[locate x=&tf.helpMarginx+950 y=60][button storage = "first.ks" target="*help_continue" clickse="テン" graphic="help-exit.png"]
[layopt layer=message2 visible=true]
[rclick jump=true target=*help_continue storage=first.ks enabled=true][eval exp="tf.HelpClicked=1"]
[current layer=message1]
[s]
[endif]
*Help_TGT
[if exp ="tf.HelpIconFlag == 4"]
[Cutin_Help]
[image storage="Help_Target.png" layer=3 page=fore top = 0 visible ="true"]
[playse buf = "1" storage="テン" loop="false"]
[layopt layer=message2 visible=false][rclick jump=true target=*help_continue storage=first.ks enabled=true][p][eval exp="tf.HelpClicked=1"]
[endif]
*Help_Manual
[if exp ="tf.HelpIconFlag == 5"]
[Cutin_Help]
[image storage="Help_Manual.png" layer=3 page=fore top = 0 visible ="true"]
[playse buf = "1" storage="テン" loop="false"]
[layopt layer=message2 visible=false][rclick jump=true target=*help_continue storage=first.ks enabled=true][p][eval exp="tf.HelpClicked=1"]
[endif]
*Help_Desire
[if exp ="tf.HelpIconFlag == 6"]
[playse buf = "1" storage="テン" loop="false"][layopt layer=message2 visible=false]
;クリックされていなければ戻す
[eval exp="tf.HelpPage -= 1" cond="tf.HelpClicked!=1"]
;クリックされていたら1増やす
[eval exp="tf.HelpPage += 1" cond="tf.HelpClicked==1"]
[if exp ="tf.HelpPage == 1"][image storage="Help_Desire.png" layer=3 page=fore top = 0 visible ="true"]
[elsif exp ="tf.HelpPage == 2 && sf.CanBoost==1"][image storage="Help_Desire2.png" layer=3 page=fore top = 0 visible ="true"]
[else][eval exp ="tf.HelpPage = 0"][jump target="*help_continue" storage="first.ks"]
[endif]
;tf.HelpClickedはCutin_Helpで初期化される。更に右クリックで
[Cutin_Help]
[rclick jump=true target=*Help_Desire storage=first.ks enabled=true][p]
;クリックされたなら進む
[eval exp="tf.HelpClicked=1"][jump target="*Help_Desire" storage="first.ks"]
[endif]
*Help_Hint
[if exp ="tf.HelpIconFlag == 7"]
[playse buf = "1" storage="テン" loop="false"][layopt layer=message2 visible=false]
;クリックされていなければ戻す
[eval exp="tf.HelpPage -= 1" cond="tf.HelpClicked!=1"]
;クリックされていたら1増やす
[eval exp="tf.HelpPage += 1" cond="tf.HelpClicked==1"]
[if exp ="tf.HelpPage == 1"][image storage="Help_Hint1.png" layer=3 page=fore top = 0 visible ="true"]
[elsif exp ="tf.HelpPage == 2"][image storage="Help_Hint2.png" layer=3 page=fore top = 0 visible ="true"]
[elsif exp ="tf.HelpPage == 3"][image storage="Help_Hint3.png" layer=3 page=fore top = 0 visible ="true"]
[else][eval exp ="tf.HelpPage = 0"][jump target="*help_continue" storage="first.ks"]
[endif]
;tf.HelpClickedはCutin_Helpで初期化される。更に右クリックで
[Cutin_Help]
[rclick jump=true target=*Help_Hint storage=first.ks enabled=true][p]
;クリックされたなら進む
[eval exp="tf.HelpClicked=1"][jump target="*Help_Hint" storage="first.ks"]
[endif]
*Help_Target
[if exp ="tf.HelpIconFlag == 8"]
;ヘルプの指定射精
[Cutin_Help]
[image storage="Help_Target_Chart.png" layer=3 page=fore top = 0 visible ="true"]
[playse buf = "1" storage="テン" loop="false"]
;取得してないのはシールで隠す
[pimage storage="SealPink.png" layer=3 page=fore dx=315 dy=180 visible ="true" cond="(f.TargetEX[0][0] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[0][0]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=315 dy=239 visible ="true" cond="(f.TargetEX[0][1] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[0][1]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=315 dy=298 visible ="true" cond="(f.TargetEX[0][2] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[0][2]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=315 dy=357 visible ="true" cond="(f.TargetEX[0][3] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[0][3]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=315 dy=416 visible ="true" cond="(f.TargetEX[0][4] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[0][4]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=315 dy=475 visible ="true" cond="(f.TargetEX[0][5] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[0][5]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=315 dy=534 visible ="true" cond="(f.TargetEX[0][6] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[0][6]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=655 dy=180 visible ="true" cond="(f.TargetEX[1][0] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[1][0]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=655 dy=239 visible ="true" cond="(f.TargetEX[1][1] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[1][1]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=655 dy=298 visible ="true" cond="(f.TargetEX[1][2] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[1][2]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=655 dy=357 visible ="true" cond="(f.TargetEX[1][3] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[1][3]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=655 dy=416 visible ="true" cond="(f.TargetEX[1][4] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[1][4]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=655 dy=475 visible ="true" cond="(f.TargetEX[1][5] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[1][5]==0 && tf.galflag == 1)"]
[pimage storage="SealPink.png" layer=3 page=fore dx=655 dy=534 visible ="true" cond="(f.TargetEX[1][6] == 0 && tf.galflag == 0) || (sf.TargetEXGallery[1][6]==0 && tf.galflag == 1)"]
;初期化
[eval exp="tf.TargetNum = 0"]
;ターゲット数かぞえる
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][0] == 1 || (sf.TargetEXGallery[0][0]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][1] == 1 || (sf.TargetEXGallery[0][1]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][2] == 1 || (sf.TargetEXGallery[0][2]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][3] == 1 || (sf.TargetEXGallery[0][3]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][4] == 1 || (sf.TargetEXGallery[0][4]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][5] == 1 || (sf.TargetEXGallery[0][5]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[0][6] == 1 || (sf.TargetEXGallery[0][6]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][0] == 1 || (sf.TargetEXGallery[1][0]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][1] == 1 || (sf.TargetEXGallery[1][1]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][2] == 1 || (sf.TargetEXGallery[1][2]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][3] == 1 || (sf.TargetEXGallery[1][3]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][4] == 1 || (sf.TargetEXGallery[1][4]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][5] == 1 || (sf.TargetEXGallery[1][5]==1 && tf.galflag == 1)"]
[eval exp="tf.TargetNum += 1" cond="f.TargetEX[1][6] == 1 || (sf.TargetEXGallery[1][6]==1 && tf.galflag == 1)"]
[nowait]
[history output = false]
[font face="S28Font" bold = false shadow =false edge=false color = 0x1E90FF]
;フォント描画領域-----------------
[locate x=760 y=120]
[emb exp="tf.TargetNum"]/14
[font face="TrophyFont" bold = false shadow =false edge=false color = 0x1E80F4]
[locate X=&tf.helpMarginx+290 Y=186]Ejaculate on face[locate X=390 Y=203][emb exp="'%2d'.sprintf(f.EjacNum03)"]/[emb exp="'%2d'.sprintf(tf.TGT_1v)"]
[locate X=&tf.helpMarginx+290 Y=244]Ejaculate on body[locate X=390 Y=261][emb exp="'%2d'.sprintf(f.EjacNum02)"]/[emb exp="'%2d'.sprintf(tf.TGT_2v)"]
[locate X=&tf.helpMarginx+290 Y=302]Service experience[locate X=390 Y=319][emb exp="'%2d'.sprintf(f.OrgaNum03)"]/[emb exp="'%2d'.sprintf(tf.TGT_3v)"]
[locate X=&tf.helpMarginx+290 Y=360]Ejaculate in mouth[locate X=390 Y=377][emb exp="'%2d'.sprintf(f.EjacNum04)"]/[emb exp="'%2d'.sprintf(tf.TGT_4v)"]
[locate X=&tf.helpMarginx+290 Y=418]Breast experience[locate X=390 Y=435][emb exp="'%2d'.sprintf(f.OrgaNum04)"]/[emb exp="'%2d'.sprintf(tf.TGT_5v)"]
[locate X=&tf.helpMarginx+290 Y=476]Seduction[locate X=390 Y=493][emb exp="'%2d'.sprintf(f.OrgaNum06)"]/[emb exp="'%2d'.sprintf(tf.TGT_6v)"]
[locate X=&tf.helpMarginx+290 Y=534]Naughty child[locate X=390 Y=551][emb exp="'%2d'.sprintf(f.ABLove)" ]/[emb exp="'%2d'.sprintf(tf.TGT_7v)"]
[locate X=&tf.helpMarginx+630 Y=186]Vaginal climax[locate X=730 Y=203][emb exp="'%2d'.sprintf(f.OrgaNum01)"]/[emb exp="'%2d'.sprintf(tf.TGT_Av)"]
[locate X=&tf.helpMarginx+630 Y=244]Ejaculate on body[locate X=730 Y=261][emb exp="'%2d'.sprintf(f.EjacNum02)"]/[emb exp="'%2d'.sprintf(tf.TGT_Bv)"]
[locate X=&tf.helpMarginx+630 Y=302]Vaginal ejaculation[locate X=730 Y=319][emb exp="'%2d'.sprintf(f.EjacNum01)"]/[emb exp="'%2d'.sprintf(tf.TGT_Cv)"]
[locate X=&tf.helpMarginx+630 Y=360]Vaginal ejaculation[locate X=730 Y=377][emb exp="'%2d'.sprintf(f.EjacNum01)"]/[emb exp="'%2d'.sprintf(tf.TGT_Dv)"]
[locate X=&tf.helpMarginx+630 Y=418]Vaginal ejaculation[locate X=730 Y=435][emb exp="'%2d'.sprintf(f.EjacNum01)"]/[emb exp="'%2d'.sprintf(tf.TGT_Ev)"]
[locate X=&tf.helpMarginx+630 Y=476]Naughty child[locate X=730 Y=493][emb exp="'%2d'.sprintf(f.ABLove)" ]/[emb exp="'%2d'.sprintf(tf.TGT_Fv)"]
[locate X=&tf.helpMarginx+630 Y=534]Naughty child[locate X=730 Y=551][emb exp="'%2d'.sprintf(f.ABLove)" ]/[emb exp="'%2d'.sprintf(tf.TGT_Gv)"]
;実績の判定
[if exp="tf.TargetNum>=10"]
[if exp="sf.TrophyETC03!=1"][eval exp="sf.TrophyETC03=1"][eval exp="tf.GetTrophyFlag = 1"][Cutin_Trophy][endif]
[endif]
[history output = true]
[endnowait]
[layopt layer=message2 visible=true]
[rclick jump=true target=*help_continue storage=first.ks enabled=true][p][eval exp="tf.HelpClicked=1"]
[cm]
[endif]
*Help_Skin_OnOff
[if exp ="tf.HelpIconFlag == 9"]
[cm]
[スキンチェッカー]
[layopt layer=7 visible=false]
[image storage="Help_Skin_OnOff.png" layer=3 page=fore top = 0 visible ="true"]
[playse buf = "1" storage="テン" loop="false"]
[current layer=message1]
[font face="TrophyFont" color="0x1E90FF" shadow=false]
;制作中
[eval exp="tf.SkinJumpFlag=0"]
[history output = "false"]
;ON1・OFF1が色付きだ
[nowait]
[locate x=&tf.helpMarginx+450 y=170][button graphic="HelpSkinBTN_ON1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[0]=1" clickse="カチン" cond="f.SkinSwitch[0] == 1"][button graphic="HelpSkinBTN_ON0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[0]=1" clickse="カチン" cond="f.SkinSwitch[0] == 0"]
[locate x=&tf.helpMarginx+550 y=170][button graphic="HelpSkinBTN_OFF1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[0]=0" clickse="カチン" cond="f.SkinSwitch[0] == 0"][button graphic="HelpSkinBTN_OFF0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[0]=0" clickse="カチン" cond="f.SkinSwitch[0] == 1"]
[locate x=&tf.helpMarginx+680 y=160][button graphic="スキン取得.png" exp="tf.SkinJumpFlag=0" target=*dSkinJump]
[eval exp="tf.SkinGot=0"][eval exp="tf.Skinloopnum=0"][eval exp="tf.MarginSkinX=0"]
*Help_Skin_OnOff_loop0
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[0][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
[jump target=*Help_Skin_OnOff_loop0 cond="tf.Skinloopnum < tf.SkinList[0].count"]
[nowait][locate x=860 y=163][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[0].count"]
[locate x=&tf.helpMarginx+450 y=230][button graphic="HelpSkinBTN_ON1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[1]=1" clickse="カチン" cond="f.SkinSwitch[1] == 1"][button graphic="HelpSkinBTN_ON0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[1]=1" clickse="カチン" cond="f.SkinSwitch[1] == 0"]
[locate x=&tf.helpMarginx+550 y=230][button graphic="HelpSkinBTN_OFF1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[1]=0" clickse="カチン" cond="f.SkinSwitch[1] == 0"][button graphic="HelpSkinBTN_OFF0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[1]=0" clickse="カチン" cond="f.SkinSwitch[1] == 1"]
[locate x=&tf.helpMarginx+680 y=220][button graphic="スキン取得.png" exp="tf.SkinJumpFlag=1" target=*dSkinJump]
[eval exp="tf.SkinGot=0"][eval exp="tf.Skinloopnum=0"][eval exp="tf.MarginSkinX=0"]
*Help_Skin_OnOff_loop1
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[1][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
[jump target=*Help_Skin_OnOff_loop1 cond="tf.Skinloopnum < tf.SkinList[1].count"]
[nowait][locate x=860 y=223][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[1].count"]
[locate x=&tf.helpMarginx+450 y=290][button graphic="HelpSkinBTN_ON1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[2]=1" clickse="カチン" cond="f.SkinSwitch[2] == 1"][button graphic="HelpSkinBTN_ON0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[2]=1" clickse="カチン" cond="f.SkinSwitch[2] == 0"]
[locate x=&tf.helpMarginx+550 y=290][button graphic="HelpSkinBTN_OFF1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[2]=0" clickse="カチン" cond="f.SkinSwitch[2] == 0"][button graphic="HelpSkinBTN_OFF0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[2]=0" clickse="カチン" cond="f.SkinSwitch[2] == 1"]
[locate x=&tf.helpMarginx+680 y=280][button graphic="スキン取得.png" exp="tf.SkinJumpFlag=2" target=*dSkinJump]
[eval exp="tf.SkinGot=0"][eval exp="tf.Skinloopnum=0"][eval exp="tf.MarginSkinX=0"]
*Help_Skin_OnOff_loop2
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[2][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
[jump target=*Help_Skin_OnOff_loop2 cond="tf.Skinloopnum < tf.SkinList[2].count"]
[nowait][locate x=860 y=283][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[2].count"]
[locate x=&tf.helpMarginx+450 y=350][button graphic="HelpSkinBTN_ON1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[3]=1" clickse="カチン" cond="f.SkinSwitch[3] == 1"][button graphic="HelpSkinBTN_ON0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[3]=1" clickse="カチン" cond="f.SkinSwitch[3] == 0"]
[locate x=&tf.helpMarginx+550 y=350][button graphic="HelpSkinBTN_OFF1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[3]=0" clickse="カチン" cond="f.SkinSwitch[3] == 0"][button graphic="HelpSkinBTN_OFF0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[3]=0" clickse="カチン" cond="f.SkinSwitch[3] == 1"]
[locate x=&tf.helpMarginx+680 y=340][button graphic="スキン取得.png" exp="tf.SkinJumpFlag=3" target=*dSkinJump]
[eval exp="tf.SkinGot=0"][eval exp="tf.Skinloopnum=0"][eval exp="tf.MarginSkinX=0"]
*Help_Skin_OnOff_loop3
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[3][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
[jump target=*Help_Skin_OnOff_loop3 cond="tf.Skinloopnum < tf.SkinList[3].count"]
[nowait][locate x=860 y=343][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[3].count"]
[locate x=&tf.helpMarginx+450 y=410][button graphic="HelpSkinBTN_ON1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[4]=1" clickse="カチン" cond="f.SkinSwitch[4] == 1"][button graphic="HelpSkinBTN_ON0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[4]=1" clickse="カチン" cond="f.SkinSwitch[4] == 0"]
[locate x=&tf.helpMarginx+550 y=410][button graphic="HelpSkinBTN_OFF1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[4]=0" clickse="カチン" cond="f.SkinSwitch[4] == 0"][button graphic="HelpSkinBTN_OFF0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[4]=0" clickse="カチン" cond="f.SkinSwitch[4] == 1"]
[locate x=&tf.helpMarginx+680 y=400][button graphic="スキン取得.png" exp="tf.SkinJumpFlag=4" target=*dSkinJump]
[eval exp="tf.SkinGot=0"][eval exp="tf.Skinloopnum=0"][eval exp="tf.MarginSkinX=0"]
*Help_Skin_OnOff_loop4
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[4][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
[jump target=*Help_Skin_OnOff_loop4 cond="tf.Skinloopnum < tf.SkinList[4].count"]
[nowait][locate x=860 y=403][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[4].count"]
[locate x=&tf.helpMarginx+450 y=470][button graphic="HelpSkinBTN_ON1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[5]=1" clickse="カチン" cond="f.SkinSwitch[5] == 1"][button graphic="HelpSkinBTN_ON0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[5]=1" clickse="カチン" cond="f.SkinSwitch[5] == 0"]
[locate x=&tf.helpMarginx+550 y=470][button graphic="HelpSkinBTN_OFF1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[5]=0" clickse="カチン" cond="f.SkinSwitch[5] == 0"][button graphic="HelpSkinBTN_OFF0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[5]=0" clickse="カチン" cond="f.SkinSwitch[5] == 1"]
[locate x=&tf.helpMarginx+680 y=460][button graphic="スキン取得.png" exp="tf.SkinJumpFlag=5" target=*dSkinJump]
[eval exp="tf.SkinGot=0"][eval exp="tf.Skinloopnum=0"][eval exp="tf.MarginSkinX=0"]
*Help_Skin_OnOff_loop5
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[5][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
[jump target=*Help_Skin_OnOff_loop5 cond="tf.Skinloopnum < tf.SkinList[5].count"]
[nowait][locate x=860 y=463][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[5].count"]
[locate x=&tf.helpMarginx+450 y=530][button graphic="HelpSkinBTN_ON1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[6]=1" clickse="カチン" cond="f.SkinSwitch[6] == 1"][button graphic="HelpSkinBTN_ON0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[6]=1" clickse="カチン" cond="f.SkinSwitch[6] == 0"]
[locate x=&tf.helpMarginx+550 y=530][button graphic="HelpSkinBTN_OFF1.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[6]=0" clickse="カチン" cond="f.SkinSwitch[6] == 0"][button graphic="HelpSkinBTN_OFF0.png" target=*Help_Skin_OnOff exp="f.SkinSwitch[6]=0" clickse="カチン" cond="f.SkinSwitch[6] == 1"]
[locate x=&tf.helpMarginx+680 y=520][button graphic="スキン取得.png" exp="tf.SkinJumpFlag=6" target=*dSkinJump]
[eval exp="tf.SkinGot=0"][eval exp="tf.Skinloopnum=0"][eval exp="tf.MarginSkinX=0"]
*Help_Skin_OnOff_loop6
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[6][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
[jump target=*Help_Skin_OnOff_loop6 cond="tf.Skinloopnum < tf.SkinList[6].count"]
;ここの記述なんか違和感あるけどあってるみたい
[nowait][locate x=860 y=523][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[6].count"]
[current layer=message2]
[er]
[nowait]
;フォント設定
[font face="S28Font" bold = false shadow =false edge=false color = 0x1E90FF]
;本体
[locate x=760 y=120][emb exp="tf.SkinNumTOTAL"]/46
[history output = true][endnowait]
[locate x=&tf.helpMarginx+950 y=60][button storage = "first.ks" target="*help_continue" clickse="テン" graphic="help-exit.png"]
[layopt layer=message2 visible=true]
[rclick jump=true target=*help_continue storage=first.ks enabled=true][eval exp="tf.HelpClicked=1"]
[current layer=message1]
[s]
[endif]
*help_continue
[playse buf = "1" storage="カチン" loop="false"]
[eval exp="keycountkeep = keycount"]
;lastmouseではできないこれでうまくいった
[eval exp="kag.primaryLayer.cursorX += 10"]
[eval exp="kag.primaryLayer.cursorY += 10"]
[eval exp="kag.primaryLayer.cursorX -= 10"]
[eval exp="kag.primaryLayer.cursorY -= 10"]
;ヘルプに戻る
[helpcall]
[s]
*dHelp_Exit
[layopt layer=6 visible=true]
[eval exp="keycountkeep = keycount"]
;overrideで使用されるポーズフラグ 注意 
[eval exp = "lPauseTalkFlag = 0"]
[position layer=message3 page=fore frame="" left = 0 top = 0 marginl=8 width=1280 height=720]
;以前はlayer2、index3000、visibleの部分は空欄だった
[current layer=message1 page = "fore"]
[layopt layer=3 index=4000 visible ="true"]
[layopt layer=4 visible =true cond="kag.fore.layers[4].Anim_loadParams !== void"]
[layopt layer=7 visible=false index = 8000]
[cutin_erase]
;lastmouseではできないこれでうまくいった
[eval exp="kag.primaryLayer.cursorX += 10"]
[eval exp="kag.primaryLayer.cursorY += 10"]
[eval exp="kag.primaryLayer.cursorX -= 10"]
[eval exp="kag.primaryLayer.cursorY -= 10"]
;********右クリックの禁止・中ボタンの禁止**************
[rclick enabled = false][eval exp="f.middleclick = 0"]
;******************************************************
[jump storage="first.ks" target="*ムービー準備領域" cond="tf.IsHelpJump==1"]
[jump storage="first.ks" target="&f.button"]
*dStatJump
;;スタットの表示ウィンドウ
[cm]
;ポジションレベルで変えるべきだね
[current layer=message3]
[layopt visible=true layer=message3]
[position layer=message3 page=fore frame="Window_Stat.png" left = 260 top = 70 marginl=35 ]
[font face="TrophyFont" bold = false shadow =false edge=false color = 0x1E90FF]
[Cutin_Help]
[playse buf = "1" storage="テン" loop="false"]
[nowait]
[history output = "false"]
[eval exp="tf.tempMargin=40"]
[if exp="f.ActMaster[0][tf.HelpInsert][tf.HelpAct][0]>=1"][font color = 0xFF901E][else][font color = 0x1E90FF][endif][locate x=0 y=&(100-tf.tempMargin)][if exp="sf.StoreGallery[0][tf.HelpInsert][tf.HelpAct][0] == 1 || (f.sceneall==1 && tf.galflag==0) || (f.galleryall == 1 && tf.galflag==1) "][if exp="tf.galflag==0 && f.sceneall==0"][button graphic="&tf.WQpng[0][tf.HelpInsert][tf.HelpAct][0]"][else][button graphic="&tf.WQpng[0][tf.HelpInsert][tf.HelpAct][0]" exp="f.camflag='', tf.NudeType=0, tf.Insert=tf.HelpInsert, tf.InsertType=tf.HelpInsert, f.riverse=tf.Insert, tf.ActType= tf.HelpAct, f.StoreLV[tf.NudeType][tf.Insert][tf.HelpAct]=0, f.act=tf.WQwmv[tf.NudeType][tf.Insert][tf.HelpAct][0], tf.IsHelpJump = 1" storage="first.ks" target="*dHelp_Exit"][endif][locate x=0 y=100][ヘルプstat表示 nude=0 level=0][if exp="f.TotalStoreEX[0][tf.HelpInsert][tf.HelpAct][0]!=0"][locate x=150 y= 60]/累計:[emb exp="f.TotalStoreEX[0][tf.HelpInsert][tf.HelpAct][0]"][endif][endif]
[if exp="f.ActMaster[0][tf.HelpInsert][tf.HelpAct][1]>=1"][font color = 0xFF901E][else][font color = 0x1E90FF][endif][locate x=0 y=&(180-tf.tempMargin)][if exp="sf.StoreGallery[0][tf.HelpInsert][tf.HelpAct][1] == 1 || (f.sceneall==1 && tf.galflag==0) || (f.galleryall == 1 && tf.galflag==1) "][if exp="tf.galflag==0 && f.sceneall==0"][button graphic="&tf.WQpng[0][tf.HelpInsert][tf.HelpAct][1]"][else][button graphic="&tf.WQpng[0][tf.HelpInsert][tf.HelpAct][1]" exp="f.camflag='', tf.NudeType=0, tf.Insert=tf.HelpInsert, tf.InsertType=tf.HelpInsert, f.riverse=tf.Insert, tf.ActType= tf.HelpAct, f.StoreLV[tf.NudeType][tf.Insert][tf.HelpAct]=1, f.act=tf.WQwmv[tf.NudeType][tf.Insert][tf.HelpAct][1], tf.IsHelpJump = 1" storage="first.ks" target="*dHelp_Exit"][endif][locate x=0 y=180][ヘルプstat表示 nude=0 level=1][if exp="f.TotalStoreEX[0][tf.HelpInsert][tf.HelpAct][1]!=0"][locate x=150 y=140]/累計:[emb exp="f.TotalStoreEX[0][tf.HelpInsert][tf.HelpAct][1]"][endif][endif]
[if exp="f.ActMaster[0][tf.HelpInsert][tf.HelpAct][2]>=1"][font color = 0xFF901E][else][font color = 0x1E90FF][endif][locate x=0 y=&(260-tf.tempMargin)][if exp="sf.StoreGallery[0][tf.HelpInsert][tf.HelpAct][2] == 1 || (f.sceneall==1 && tf.galflag==0) || (f.galleryall == 1 && tf.galflag==1) "][if exp="tf.galflag==0 && f.sceneall==0"][button graphic="&tf.WQpng[0][tf.HelpInsert][tf.HelpAct][2]"][else][button graphic="&tf.WQpng[0][tf.HelpInsert][tf.HelpAct][2]" exp="f.camflag='', tf.NudeType=0, tf.Insert=tf.HelpInsert, tf.InsertType=tf.HelpInsert, f.riverse=tf.Insert, tf.ActType= tf.HelpAct, f.StoreLV[tf.NudeType][tf.Insert][tf.HelpAct]=2, f.act=tf.WQwmv[tf.NudeType][tf.Insert][tf.HelpAct][2], tf.IsHelpJump = 1" storage="first.ks" target="*dHelp_Exit"][endif][locate x=0 y=260][ヘルプstat表示 nude=0 level=2][if exp="f.TotalStoreEX[0][tf.HelpInsert][tf.HelpAct][2]!=0"][locate x=150 y=220]/累計:[emb exp="f.TotalStoreEX[0][tf.HelpInsert][tf.HelpAct][2]"][endif][endif]
[if exp="f.ActMaster[1][tf.HelpInsert][tf.HelpAct][0]>=1"][font color = 0xFF901E][else][font color = 0x1E90FF][endif][locate x=0 y=&(340-tf.tempMargin)][if exp="sf.StoreGallery[1][tf.HelpInsert][tf.HelpAct][0] == 1 || (f.sceneall==1 && tf.galflag==0) || (f.galleryall == 1 && tf.galflag==1) "][if exp="tf.galflag==0 && f.sceneall==0"][button graphic="&tf.WQpng[1][tf.HelpInsert][tf.HelpAct][0]"][else][button graphic="&tf.WQpng[1][tf.HelpInsert][tf.HelpAct][0]" exp="f.camflag='', tf.NudeType=1, tf.Insert=tf.HelpInsert, tf.InsertType=tf.HelpInsert, f.riverse=tf.Insert, tf.ActType= tf.HelpAct, f.StoreLV[tf.NudeType][tf.Insert][tf.HelpAct]=0, f.act=tf.WQwmv[tf.NudeType][tf.Insert][tf.HelpAct][0], tf.IsHelpJump = 1" storage="first.ks" target="*dHelp_Exit"][endif][locate x=0 y=340][ヘルプstat表示 nude=1 level=0][if exp="f.TotalStoreEX[1][tf.HelpInsert][tf.HelpAct][0]!=0"][locate x=150 y=300]/累計:[emb exp="f.TotalStoreEX[1][tf.HelpInsert][tf.HelpAct][0]"][endif][endif]
[if exp="f.ActMaster[1][tf.HelpInsert][tf.HelpAct][1]>=1"][font color = 0xFF901E][else][font color = 0x1E90FF][endif][locate x=0 y=&(420-tf.tempMargin)][if exp="sf.StoreGallery[1][tf.HelpInsert][tf.HelpAct][1] == 1 || (f.sceneall==1 && tf.galflag==0) || (f.galleryall == 1 && tf.galflag==1) "][if exp="tf.galflag==0 && f.sceneall==0"][button graphic="&tf.WQpng[1][tf.HelpInsert][tf.HelpAct][1]"][else][button graphic="&tf.WQpng[1][tf.HelpInsert][tf.HelpAct][1]" exp="f.camflag='', tf.NudeType=1, tf.Insert=tf.HelpInsert, tf.InsertType=tf.HelpInsert, f.riverse=tf.Insert, tf.ActType= tf.HelpAct, f.StoreLV[tf.NudeType][tf.Insert][tf.HelpAct]=1, f.act=tf.WQwmv[tf.NudeType][tf.Insert][tf.HelpAct][1], tf.IsHelpJump = 1" storage="first.ks" target="*dHelp_Exit"][endif][locate x=0 y=420][ヘルプstat表示 nude=1 level=1][if exp="f.TotalStoreEX[1][tf.HelpInsert][tf.HelpAct][1]!=0"][locate x=150 y=380]/累計:[emb exp="f.TotalStoreEX[1][tf.HelpInsert][tf.HelpAct][1]"][endif][endif]
[if exp="f.ActMaster[1][tf.HelpInsert][tf.HelpAct][2]>=1"][font color = 0xFF901E][else][font color = 0x1E90FF][endif][locate x=0 y=&(500-tf.tempMargin)][if exp="sf.StoreGallery[1][tf.HelpInsert][tf.HelpAct][2] == 1 || (f.sceneall==1 && tf.galflag==0) || (f.galleryall == 1 && tf.galflag==1) "][if exp="tf.galflag==0 && f.sceneall==0"][button graphic="&tf.WQpng[1][tf.HelpInsert][tf.HelpAct][2]"][else][button graphic="&tf.WQpng[1][tf.HelpInsert][tf.HelpAct][2]" exp="f.camflag='', tf.NudeType=1, tf.Insert=tf.HelpInsert, tf.InsertType=tf.HelpInsert, f.riverse=tf.Insert, tf.ActType= tf.HelpAct, f.StoreLV[tf.NudeType][tf.Insert][tf.HelpAct]=2, f.act=tf.WQwmv[tf.NudeType][tf.Insert][tf.HelpAct][2], tf.IsHelpJump = 1" storage="first.ks" target="*dHelp_Exit"][endif][locate x=0 y=500][ヘルプstat表示 nude=1 level=2][if exp="f.TotalStoreEX[1][tf.HelpInsert][tf.HelpAct][2]!=0"][locate x=150 y=460]/累計:[emb exp="f.TotalStoreEX[1][tf.HelpInsert][tf.HelpAct][2]"][endif][endif]
[locate x=500 y=533]Gallery mode. Warp possible
[history output = "true"]
[endnowait]
;Exit
[locate x=700 y=35][button graphic="help-exit.png" storage = "first.ks" target="*Help_EXP1" ]
[rclick jump=true target=*Help_EXP1 storage=first.ks enabled=true]
[s]
*dSkinJump
;;スキンのジャンプウィンドウ
[layopt layer=7 visible=true index = 30000]
[image storage="Window_SkinJump.png" layer=7 left=480 top=70 page=fore visible=true]
[cm]
[current layer=message1]
;ここに各スキンへのジャンプフラグ 配列に入れた物を文字列に変換し表示し、その横に 行為名を入れれば簡単 f.actを変えてムービー準備領域に飛ばせばいい
[playse buf = "1" storage="テン" loop="false"]
;右クリ時にページ移動
;スキンをオン
[eval exp="f.InsideFlag = 1"]
[font face="S28Font" bold = false shadow =false edge=false color = 0x1E90FF]
[eval exp="tf.Skinloopnum=0"]
[eval exp="tf.arrTempSkinJump=[]"]
;スキン取得数
[eval exp="tf.SkinGot=0"]
[eval exp="tf.MarginSkinX=0"]
*skinloop
[nowait]
[history output = "false"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(tf.Skinloopnum%10+1)*45)]
;表示を行う
;ボタン番号を利用するというすごいピーキーな事してるボタン番号の都合でexitの位置変えたらバグるから絶対やらないで
[if exp="sf.SourceSkinCheck.find(tf.SkinList[tf.SkinJumpFlag][tf.Skinloopnum],0)>=0 || f.SkinAll==1"]
[eval exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][tf.Skinloopnum])"]
[if exp="(tf.galflag==1 && sf.StoreGallery[arrSkn[4]][arrSkn[5]][arrSkn[3]][arrSkn[6]] || (f.SkinAll==1 && f.sceneall==1) ) && f.HP>0" ]
[eval exp="tf.arrTempSkinJump[tf.Skinloopnum]=1"]
[else]
[eval exp="tf.arrTempSkinJump[tf.Skinloopnum]=0"]
[endif]
[locate x=&(560+tf.MarginSkinX) y=&(105+(tf.Skinloopnum%10+1)*45)]
[font face="S28Font" bold = false shadow =false edge=false color = 0x1E90FF]
[emb exp="arrSkn[9]" cond="arrSkn[9]!==void"]
[font face="TrophyFont" color="0x000000" shadow=false]
[emb exp="arrSkn[8]" cond="arrSkn[8]!==void"]
[else]
[font face="S28Font" bold = false shadow =false edge=false color = 0x1E90FF]
 --
[eval exp="tf.arrTempSkinJump[tf.Skinloopnum]=0"]
[endif]
[locate x=&(520+tf.MarginSkinX) y=&(100+(0%10+1)*45)][button cond="tf.arrTempSkinJump[0]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][0]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(1%10+1)*45)][button cond="tf.arrTempSkinJump[1]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][1]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(2%10+1)*45)][button cond="tf.arrTempSkinJump[2]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][2]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(3%10+1)*45)][button cond="tf.arrTempSkinJump[3]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][3]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(4%10+1)*45)][button cond="tf.arrTempSkinJump[4]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][4]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(5%10+1)*45)][button cond="tf.arrTempSkinJump[5]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][5]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(6%10+1)*45)][button cond="tf.arrTempSkinJump[6]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][6]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(7%10+1)*45)][button cond="tf.arrTempSkinJump[7]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][7]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(8%10+1)*45)][button cond="tf.arrTempSkinJump[8]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][8]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[locate x=&(520+tf.MarginSkinX) y=&(100+(9%10+1)*45)][button cond="tf.arrTempSkinJump[9]==1" graphic="取得済ワープボタン.png" exp="arrSkn=dNameExchange(tf.SkinList[tf.SkinJumpFlag][9]) , f.camflag=&arrSkn[0], AnotherAct[arrSkn[1]]=arrSkn[2], tf.NudeType=arrSkn[4] ,tf.Insert =arrSkn[5], f.StoreLV[tf.NudeType][tf.Insert][arrSkn[3]+AnotherAct[arrSkn[1]]]=arrSkn[6],tf.AbsCam=arrSkn[7], tf.IsHelpJump = 1 " storage="first.ks" target="*dHelp_Exit"]
[eval exp="tf.SkinGot+=1" cond="sf.SourceSkinCheck.find(tf.SkinList[tf.SkinJumpFlag][tf.Skinloopnum],0)>=0"]
[eval exp="tf.Skinloopnum+=1"]
;;[eval exp="System.inform(arrSkn.join(','))"]
[eval exp="tf.MarginSkinX=220" cond="tf.Skinloopnum==10"]
;ループ whileはセーブデータを肥大化させる為
[jump target=*skinloop cond="tf.Skinloopnum < tf.SkinList[tf.SkinJumpFlag].count"]
[font face="TrophyFont" color="0x000000" shadow=false]
[locate x=610 y=597]Gallery mode. Warp possible
[font face="S28Font" bold = false shadow =false edge=false color = 0x1E90FF]
[locate x=840 y=600][emb exp="tf.SkinGot"]/[emb exp="tf.SkinList[tf.SkinJumpFlag].count"]
[history output = "true"]
[endnowait]
;Exit
[locate x=900 y=105][button graphic="help-exit.png" storage = "first.ks" target="*Help_Skin_OnOff" ]
[rclick jump=true target=*Help_Skin_OnOff storage=first.ks enabled=true]
[s]
*endlist
[endingcall]
;linkselectじゃないのと思うが、暫定的にfirstへとばしてる
[jump storage="first.ks" target="*linkselectnosave"]
*endlistexit
[eval exp="tf.keyinitial = keycountmain" cond="System.getKeyState(VK_Z) || System.getKeyState(VK_RETURN)"]
[layopt layer=message1 index=1001000 visible = "true"]
[eval exp="keycountkeep = keycount"]
;以前はlayer2、index3000、visibleの部分は空欄だった
[layopt layer=3 index=4000 visible ="false"]
[current layer=message1 page = "fore"]
;lastmouseではできないこれでうまくいった
[eval exp="kag.primaryLayer.cursorX += 10"]
[eval exp="kag.primaryLayer.cursorY += 10"]
[eval exp="kag.primaryLayer.cursorX -= 10"]
[eval exp="kag.primaryLayer.cursorY -= 10"]
[jump storage="first.ks" target="*linkselectnosave"]
*helpact
;エッチシーンでのヘルプはここに飛ぶ
[helpcall]
[jump storage="first.ks" target="&f.button"]
*SAVE
;メッセージ履歴にメッセージ描画するの禁止!
[history output = "false"]
;[SAVETRANS]
[jump storage="save.ks"]
*LOAD
;メッセージ履歴にメッセージ描画するの禁止!
[history output = "false"]
;[LOADTRANS]
[jump storage="load.ks"]
*CONFIG
;メッセージ履歴にメッセージ描画するの禁止!
[history output = "false"]
;;[CONFIGTRANS]
[jump storage="config.ks" target="*CONFIGMAIN"]
*exitdialog
;buttonmacroのエッチシーンのEXITボタンでここに飛ばすとダイアログが出現する
;観察系の時にヘルプ出すと残ってしまう。それを阻止する
[layopt layer=4 visible=false]
[layopt layer=3 index = 3000]
[layopt layer = 9 visible=false]
;スマッシュ不能 一応
[eval exp="tf.CanSmash=0"]
;NEMURI キーフックを削除 出ないとダイアログ中にショートカットできちゃう
;関連 first内 button16 これjf1等のHシーン中の物で制御してるからいらないな
;[eval exp="kag.keyDownHook.remove(NUMBERKeyDownHook)"]
;tf.currentsceneは現在のシーン。SEX・EXIT・MENU・GALLERY・SAVE・LOAD・CONFIG   NEMURI
;2022年10月17日 新規にDIALOGを追加 ものすごく細かいバグ…でもないがそれ用に
[eval exp = "tf.currentscene = 'DIALOG'"]
;overrideで使用されるポーズフラグ
[eval exp = "lPauseFlag = 1"]
;afterinitでウェイトを処理するためこの値がになるのは、afterinitで数字キーを押した時のみ ボタンマクロとlinkselectにもある NEMURI SHORT
[eval exp = "tf.afterinitwait = 0"]
;スリープダイアログを読み込む NEMURI キーショートカット誘導数字追加 krkrConvert=1.2
[image storage="sleepdialog_Key.png" layer=3 left=&(krkrLeft+340) top=295 page=fore visible=true]
;カレントをメッセージ2に
[layopt layer=message2 visible = true]
[current layer=message2]
;********右クリックの禁止・中ボタンの禁止**************
[rclick enabled = false][eval exp="f.middleclick = 0"]
;******************************************************
[position layer="message2" visible="true" opacity="0" top="0" left="&krkrLeft" width="&krkrWidth" height="&krkrHeight"]
;YESボタン
[locate x=362 y=376][button graphic="YesNoDialog_YesButton.png" storage = "first.ks" target="*yesdialog"]
;NOボタン
[locate x=472 y=376][button graphic="YesNoDialog_NoButton.png" storage = "first.ks" target="*nodialog" ]
;*******キーボード操作用のキーnum設定*****************
[eval exp="keynum = kag.fore.messages[2].numLinks;"]
;*****************************************************
[eval exp="keycountkeep = keycount"]
[eval exp="keycount = 0"]
[eval exp="keyfirst = 0"]
[rclick jump=true target=*nodialog storage=first.ks enabled=true]
;--------------------------フォーカス-------------------------------------------------------
[eval exp="tf.keyinitial = 0" cond="System.getKeyState(VK_Z) || System.getKeyState(VK_RETURN)"]
;------------------------------------------------------------------------------------------
[if exp="tf.SuperShortCut == 1"]
[jump storage = "first.ks" target="*yesdialog" ]
[endif]
[s]
*yesdialog
;exitで、YESを押したときの処理。
;カレントをEXITに
[eval exp = "tf.currentscene = 'EXIT'"]
[eval exp="tf.SEXSTART=0"]
[eval exp="tf.TryError = 0"]
[eval exp="tf.Action_TICK = 0"]
[eval exp="tf.Action_TICK_Lock = 1"]
[eval exp="EjacGaugeMAX=0"][eval exp="OrgaGaugeMAX=0"][freeimage layer=8]
;overrideで使用されるポーズフラグ
[eval exp = "lPauseFlag = 0"]
;前回のパーミッションが残るバグがあった為EXITする際に必ず初期化
[eval exp="Permission = 'None'"]
[eval exp="kag.fore.messages[2].visible = false , kag.fore.layers[3].visible = false , kag.fore.layers[0].freeImage() , kag.se[0].stop() , kag.se[1].stop() , kag.se[2].stop() , kag.se[3].stop() , kag.se[4].stop() , kag.se[5].stop(), tf.spanking = 0"]
[eval exp="tf.keyinitial = keycountkeep" cond="System.getKeyState(VK_Z) || System.getKeyState(VK_RETURN)"]
;キーボードを使った時に強制的にフォーカスを0にあわせる為の布石
[eval exp="tf.autosavekeyboard = 1" cond="System.getKeyState(VK_Z) || System.getKeyState(VK_RETURN)"]
[eval exp="keycountkeep = 0"]
[eval exp="keyfirst = 0"]
;別になくてもいいんだけど、これがないと、NORMALを経由しない場合効果音がなり続ける。
[stopvideo]
[stopse buf=1][stopse buf=2]
;tf.galflagで通常のシーンかギャラリーかを判別している
[jump storage = "NORMAL.ks" target = "*storyExit"]
;[jump storage = "gallery.ks"target = "*galleryEXIT" cond = "tf.galflag == 1"]
*nodialog
[eval exp = "tf.dialog = 1"]
;overrideで使用されるポーズフラグ
[eval exp = "lPauseFlag = 0"]
[current layer=message1 page = "fore"]
[layopt layer=3 index=4000 visible ="true"]
[layopt layer=4 visible =true cond="kag.fore.layers[4].Anim_loadParams !== void"]
[layopt layer=7 visible=false index = 8000]
[eval exp="kag.fore.messages[2].visible = false , kag.fore.layers[3].visible = false"]
[eval exp = "kag.fore.messages[1].setFocusToLink(keycountkeep,true)" cond="System.getKeyState(VK_Z) || System.getKeyState(VK_RETURN)"]
[eval exp="kag.primaryLayer.cursorX += 10"]
[eval exp="kag.primaryLayer.cursorY += 10"]
[eval exp="kag.primaryLayer.cursorX -= 10"]
[eval exp="kag.primaryLayer.cursorY -= 10"]
;********右クリックの禁止・中ボタンの禁止**************
[rclick enabled = false][eval exp="f.middleclick = 0"]
;******************************************************
[jump storage="first.ks" target="&f.button"]
*Cutin_MiniHelp_Main
[if exp="f.HP>0 && !System.getKeyState(VK_RBUTTON)"]
[cutin_erase]
[eval exp="tf.MiniHelpVis=1"]
[if exp="tf.MiniHelpFlag==1"][cutin name="MiniHelp" storage="Text_LVGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[elsif exp="tf.MiniHelpFlag==2"][cutin name="MiniHelp" storage="Text_EXPGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[elsif exp="tf.MiniHelpFlag==3"][cutin name="MiniHelp" storage="Text_HPGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[elsif exp="tf.MiniHelpFlag==4"][cutin name="MiniHelp" storage="Text_SPGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[elsif exp="tf.MiniHelpFlag==5"][cutin name="MiniHelp" storage="Text_DesireGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[elsif exp="tf.MiniHelpFlag==6"]
[if exp="tf.Tariaflag==1"]
[cutin name="MiniHelp" storage="Text_TariaGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[elsif exp="tf.isBadGirl == 1"]
[cutin name="MiniHelp" storage="Text_BadGirlGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[else]
[cutin name="MiniHelp" storage="Text_WetGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[endif]
[elsif exp="tf.MiniHelpFlag==7"][cutin name="MiniHelp" storage="Text_MovieGauge.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[elsif exp="tf.MiniHelpFlag==8"][cutin name="MiniHelp" storage="Text_Ascend.png" cutininfo="Cutin_MiniHelp.cid" left=&(70+170) top=&kag.primaryLayer.cursorY]
[else]
[cutin_erase]
[endif]
[endif]
[jump storage="first.ks" target="*buttoninitial"]
[s]
*Cutin_Erase
[cutin_erase]
[return]
*QuickLoadDialog
;クイックロード用のダイアログ
;観察系の時にヘルプ出すと残ってしまう。それを阻止する
[layopt layer=4 visible=false]
[layopt layer=message3 visible = false]
[sysbutton_erase]
;2022年10月17日 新規にDIALOGを追加 ものすごく細かいバグ…でもないがそれ用に
;[eval exp = "tf.currentscene = 'DIALOG'"]
;overrideで使用されるポーズフラグ
[eval exp = "lPauseFlag = 1"]
;afterinitでウェイトを処理するためこの値がになるのは、afterinitで数字キーを押した時のみ ボタンマクロとlinkselectにもある NEMURI SHORT
[eval exp = "tf.afterinitwait = 0"]
;スリープダイアログを読み込む NEMURI キーショートカット誘導数字追加 krkrConvert=1.2
[image storage="returndialog.png" layer=3 left=&(krkrLeft+340) top=295 page=fore visible=true]
[eval exp="tf.TempMessage0Vis=kag.fore.messages[0].visible"]
[eval exp="tf.TempMessage1Vis=kag.fore.messages[1].visible"]
[eval exp="tf.TempMessage3Vis=kag.fore.messages[3].visible"]
[layopt layer=message0 visible = false]
[layopt layer=message1 visible = false]
[layopt layer=message3 visible = false]
[layopt layer=6 visible = false]
;カレントをメッセージ2に
[layopt layer=message2 visible = true]
[current layer=message2]
;********右クリックの禁止・中ボタンの禁止**************
[rclick enabled = false][eval exp="f.middleclick = 0"]
;******************************************************
[position layer="message2" visible="true" opacity="0" top="0" left="&krkrLeft" width="&krkrWidth" height="&krkrHeight"]
;YESボタン
[locate x=362 y=376][button graphic="YesNoDialog_YesButton.png" storage = "first.ks" target="*QloadYES"]
;NOボタン
[locate x=472 y=376][button graphic="YesNoDialog_NoButton.png" storage = "first.ks" target="*QloadNO" ]
[s]
*QloadYES
;クイックロード行う
[dQuickLoad]
[s]
*QloadNO
;クイックロード行う
;戻さないと変にになる
;[eval exp = "lPauseFlag = 1"]
[current layer=message0]
[layopt layer=3 visible=false]
[layopt layer=message2 visible = false]
;クンニ系などの判定を戻す
[layopt layer=message3 visible = true]
[layopt layer=message0 visible = &tf.TempMessage0Vis]
[layopt layer=message1 visible = &tf.TempMessage1Vis]
[layopt layer=message3 visible = &tf.TempMessage3Vis]
;無くていいと思うかもしれないがリターンの関係上必要になる
;********右クリックの禁止・中ボタンの禁止**************
[rclick enabled = true][eval exp="f.middleclick = 1"]
;******************************************************
[return]
[s]
*autosave|
[layopt layer = message0 visible=false]
[wait canskip=false time=1000]
[eval exp = "f.act = 'blank'"]
[eval exp = "tf.TempfAct=f.act"]
[eval exp = "tf.keyinitial = 'blank'"]
[eval exp="keyfirst = 0"]
[eval exp="keycount = 0"]
*ScenarioSelectMenu
;上のオートセーブと完全に繋がってるのを注意
;頻出タグ
;シナリオセレクト-----------------------------------------------
[if exp="tf.ScenarioSelect == 1"]
[freeimage layer=3][layopt layer=3 visible = false]
;更にシナリオセレクト画面に飛ぶ
;初期化領域-------------------------------------------------------------------------
;このとき、エンドレスハードなどの初期化を行うと良いだろう
;ちなみにハードフラグを1にした時、リザルトには1のまま突入する。それを利用してるコードも書いてるので一応かいとく
[eval exp="f.Endless_Hard=0"]
;-----------------------------------------------------------------------------------
[cm]
[image storage="base_ScenarioSelect" layer=base top="0" left="0" page=fore visible=true]
[dPointmovie point = "TP_シナリオセレクト" loop = "true"]
[image storage="シナリオセレクト" layer=3 top="640" left="0" visible=true]
[layopt layer=0 mode=screen]
[layopt layer=message0 page=fore visible=false]
;ボタン操作を行うため
[position layer=message1 top="0" left="0" width=1280 height=720]
[current layer=message1]
[layopt layer=message1 page=fore visible=true ]
[locate x=150 y= 70][button graphic="シナリオセレクト_屋根裏の眠り姫" exp="tf.sce=1,f.LoopFlag=f.PreviousLoopFlag" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*ScenarioSelectMenu_YESNO" ]
[locate x=570 y= 0][button graphic="シナリオセレクト_好奇心の扉" exp="tf.sce=2,f.LoopFlag=3" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*ScenarioSelectMenu_YESNO" cond="sf.ScenarioVisFinale==1 || f.DebugEndless==1"]
[locate x=400 y=400][button graphic="シナリオセレクト_エンドレス" exp="tf.sce=3,f.LoopFlag=4" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*ScenarioSelectMenu_YESNO" cond="sf.ScenarioVisEndless==1 || f.DebugEndless==1"]
[locate x=850 y=370][button graphic="シナリオセレクト_まどろみの外れ" exp="tf.sce=4,f.LoopFlag=5" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*ScenarioSelectMenu_YESNO" cond="sf.ScenarioVisTaria==1 || f.DebugEndless==1"]
[locate x=690 y=580][button graphic="エンドレスハード" exp="tf.sce=3,f.LoopFlag=4,f.Endless_Hard=1" enterse="ピピ改定" clickse="ヘルプ用2.ogg" clicksebuf="1" target="*ScenarioSelectMenu_YESNO" cond="sf.ScenarioVisEndless==1 || f.DebugEndless==1"]
[s]
[endif]
*ScenarioSelectMenu_YESNO
[if exp="tf.ScenarioSelect == 1"]
;----------------------------------------------------------------
[current layer=message2]
[layopt layer=message2 visible = true top = 0 left = 0]
;観察系の時にヘルプ出すと残ってしまう。それを阻止する
[layopt layer=4 visible=false]
;HPなどの表示------------------------------------------
[font face="S28Font" shadow = "false" edge = "false" color="0xFFFFFF"]
[history output = "false"]
[nowait]
[if exp="tf.sce==1"]
[locate x=400 y=170]Attic's Sleeping Princess
[locate x=380 y=220]Repeating for 9 days
[locate x=380 y=250]At Chapter 3's divergence, to the route with the maximum values of four experiences
[locate x=380 y=280]Some actions are always restricted
[elsif exp="tf.sce==2"]
[locate x=400 y=170]The Door of Curiosity
[locate x=380 y=220]The Conclusion of a Boy's and Girl's Dream
[locate x=380 y=250]The sex scenes are two days fewer
[locate x=380 y=280]Gain a large meal effect initially
[locate x=380 y=310]All actions can be used
[elsif exp="tf.sce==3 && f.Endless_Hard==1"]
[locate x=400 y=170]Endless Hard
[locate x=380 y=220]Test Your Skills! Separate Score for Endless
[font face="S28Font" shadow = "false" edge = "false" color="0xFF3333"]
[locate x=380 y=250]Reward: Identical to Endless
[locate x=380 y=280]Debug disabled, temporarily reset abilities
[locate x=380 y=310]Long days, strict progression conditions
[locate x=380 y=340]High maximum speed
[locate x=380 y=370]Smash possible even if not mastered
[font face="S28Font" shadow = "false" edge = "false" color="0xFFFFFF"]
[locate x=380 y=400]Same conditions as Endless
[elsif exp="tf.sce==3"]
[locate x=400 y=170]Endless
[locate x=380 y=220]Repeat for 9 days
[font face="S28Font" shadow = "false" edge = "false" color="0xFF3333"]
[locate x=380 y=250]Reward: The portal opens
[locate x=380 y=280]Reward: Collect all pictures for endless use
[font face="S28Font" shadow = "false" edge = "false" color="0xFFFFFF"]
[locate x=380 y=310]There is no scenario
[locate x=380 y=340]Mini-events are displayed based on the Act LV
[locate x=380 y=370]Score is displayed upon completion (except during debugging)
[locate x=380 y=400]The effects of meals are obtained randomly
[locate x=380 y=430]All actions are available
[else]
[locate x=400 y=170]Edge of Drowsiness
[locate x=380 y=220]Depicted outside of dreams
[locate x=380 y=250]This scenario does not affect the completion rate
[locate x=380 y=310]The boy's consciousness is dominated by you
[endif]
[endnowait]
[history output = "true"]
;HELPの挙動を修正、SXstopする
[eval exp = "tf.SXstop = 1"]
[image storage="ScenarioSelectWindow.png" layer=3 page=fore top = "100" left = "300" visible ="true" index=1001500]
[playse buf=1 storage="警告音.ogg"]
[wait canskip=false time=1500]
[locate x=532 y=500][button graphic="YesNoDialog_YesButton.png" storage="first.ks" exp="tf.sce=''" target="*ScenarioSelectMenu_Save"]
[locate x=642 y=500][button graphic="YesNoDialog_NoButton.png" storage="first.ks" exp="tf.sce=''" target="*ScenarioSelectMenu"]
[s]
[endif]
*ScenarioSelectMenu_Save
[if exp="tf.ScenarioSelect == 1"]
;BlackTrans領域------------------------------------------------
;ヒューマンエラー回避の為ストップビデオを行う。
[stopvideo]
[stopbgm]
[backlay]
;2022年5月12日メッセージレイヤもトランスするよう追加
[layopt layer=message0 page=back visible=false]
[layopt layer=message1 page=back visible=false]
[layopt layer=message2 page=back visible=false]
[layopt layer=message3 page=back visible=false]
[layopt layer=0 page=back visible=false]
[layopt layer=1 page=back visible=false]
[layopt layer=2 page=back visible=false]
[layopt layer=3 page=back visible=false]
[layopt layer=4 page=back visible=false]
[layopt layer=5 page=back visible=false]
[image storage="base_black" layer=base page=back]
[trans method=crossfade time=2000]
[wt canskip=false]
[wait canskip = false time = 1500]
;--------------------------------------------------------------------------
[endif]
;シナリオセレクト・リセット初期化
[eval exp="tf.ScenarioSelect = 0"]
[eval exp="tf.ScenarioReset = 0"]
[cm]
;オートセーブ本体
[eval exp="sf.saveflag[15] = 1"]
[save place = 15]
[jump storage="first.ks" target="*linkselect"]
*newgameplus
;ここに周回要素を書き出していく!
;引き継ぐものは・・・
;レベル
;ポイント
;どのエンドを見たか
;ショップ購入履歴?これは無くていいかも 後、ショップはゲージより数字でレベルを出すべきか
[if exp="tf.newgameplusflag == 0"]
[blacktrans time="1000"]
[wait time = "1000" canskip = "false"]
[jump storage="first.ks" target="*autosave"]
[endif]
[fadeoutbgm time = "300"]
;ブラックトランス
[blacktrans time="1000"]
;発情回数を0に
[eval exp="f.hatujou = 0"]
;変態度を0にしないと
[eval exp="f.ABNORMALUPLV=0"]
;変態度専用のusedlp
[eval exp="f.usedlpAB = 0"]
;f,camを初期化
[カメラ初期化]
;アクションの初期値にしないと!
[アクション初期化]
;インデックスも初期に
[インデックス初期化]
;[カメラプールtoカメラ1]
;[カメラプールtoカメラ2]
;[カメラプールtoカメラ3]
;[カメラプールtoカメラ4]
;[カメラプールtoカメラ5]
;[カメラプールtoカメラ6]
[カメラtoカメラプール1]
[カメラtoカメラプール2]
[カメラtoカメラプール3]
[カメラtoカメラプール4]
[カメラtoカメラプール5]
[カメラtoカメラプール6]
;経験値の初期化
[eval exp="f.nextlv = 100"]
[eval exp="f.EXPgauge = 0"]
[eval exp="f.EXP = 0"]
[eval exp="f.AEXP = 0"]
[eval exp="f.C_EXPgauge = 0"]
[eval exp="f.V_EXPgauge = 0"]
[eval exp="f.I_EXPgauge = 0"]
[eval exp="f.S_EXPgauge = 0"]
;waitcatchはの時良い感じにストップをかける。の時ストップしない
[eval exp="f.waitcatch = 0"]
;----------------------------------------------------------
;★★★★パラメータ設定良く使うもの★★★★★★★
;周回数。1ずつ増えていく。
[eval exp="f.newgameplus += 1"]
;処女かどうか。1の時は処女、0で非処女
[eval exp="f.virgin = 1"]
;お尻が未経験か。1の時は処女、0で非処女
[eval exp="f.ABvirgin = 1"]
;HPSPの初期値
[setHP value = "200"]
[setSP value = "0"]
;レベルをループにあたり1に
[eval exp="f.TLV = 1"]
;各章の、冒頭ストーリーの開始位置 0がOP Dが好奇心の扉
[eval exp="f.StoryA = 0"]
[eval exp="f.StoryB = 0"]
[eval exp="f.StoryC = 0"]
[eval exp="f.StoryD = 0"]
;exitのセリフを順序だてる
[eval exp="f.ExitA = 0"]
[eval exp="f.ExitB = 0"]
[eval exp="f.ExitC = 0"]
[eval exp="f.ExitD = 0"]
;スキップ設定を0に・・・いやこれ・・・いや、いるか
[eval exp="f.story1skip = 0" ]
[eval exp="f.story2skip = 0" ]
[eval exp="f.story3skip = 0" ]
[eval exp="f.story4skip = 0" ]
;-------------------------------------------------------------------------------------------
[eval exp = "f.act = 'blank'"]
[eval exp = "f.riverse = 0"]
[eval exp = "tf.insert = 0"]
[eval exp = "f.nodamage = 0"]
[freeimage layer=base]
[freeimage layer=0]
[freeimage layer=1]
[freeimage layer=2]
[freeimage layer=3]
[freeimage layer=base page = "back"]
[freeimage layer=0 page = "back"]
[freeimage layer=1 page = "back"]
[freeimage layer=2 page = "back"]
[freeimage layer=3 page = "back"]
[layopt layer=message0 visible="false"]
[layopt layer=message1 visible="false"]
[jump storage="title.ks" target="*start"]
*syokika
[jump storage="first.ks" target="*first"]
*ムービー準備領域
;buttonmacroで選ばれたアクションは一旦ここに飛ばされる。ここで必要な準備を終え、f.actによって仕分けられ各アクションに飛ぶってわけ。ザ・メイキングみたいだな
;指定射精のキャンセラをキャンセル
[eval exp="TargetCancel=0"]
[eval exp="tf.TryError = 0"]
[eval exp="tf.Action_TICK = 0"]
[eval exp="tf.Action_TICK_Lock = 1"]
;画面更新用 これがないとShift+CTRLでスキップした時にシフト押されてるためにまずボタンイニシャルに飛んでしまう
[eval exp="tf.SEXSTART=1"]
;カレントシーンを変更。これが無いとExitダイアログを出した後にキーボードショートカットがきかなくなる NEMURI
[eval exp = "tf.currentscene = 'SEX'"]
[eval exp="tf.FlagLove = 0"]
[eval exp="tf.FlagAscendAction = 0"]
[eval exp="tf.FlagABLove = 0"]
[eval exp="tf.FlagEjacNumTotal = 0"]
[eval exp="tf.FlagEjacNum01 = 0"]
[eval exp="tf.FlagEjacNum02 = 0"]
[eval exp="tf.FlagEjacNum03 = 0"]
[eval exp="tf.FlagEjacNum04 = 0"]
[eval exp="tf.FlagEjacNum05 = 0"]
[eval exp="tf.FlagOrgaNumTotal = 0"]
[eval exp="tf.FlagOrgaNum01 = 0"]
[eval exp="tf.FlagOrgaNum02 = 0"]
[eval exp="tf.FlagOrgaNum03 = 0"]
[eval exp="tf.FlagOrgaNum04 = 0"]
[eval exp="tf.FlagOrgaNum05 = 0"]
[eval exp="tf.FlagOrgaNum06 = 0"]
[freeimage layer=7]
[layopt layer=7 visible=false index = 8000]
;NEWマーク出現フラグ 最初に0にしとく
[eval exp = "tf.VisNewMark = 0"]
;インサイド初期化!なんてこったこれ必要っぽい これが無いとギャラリーで欲望いじった後に前のインサイドを引き継ぐ…ほんと?なんで今まで無かったんだ?
[eval exp = "tf.inside = ''"]
;インサイドのスキン版 EXTOTALでのみ使用される
[eval exp = "tf.SkinInside = 0"]
;ヘルプからジャンプしてきてない場合、Absカメラは使われてないので初期化
[eval exp="tf.AbsCam=''" cond="tf.IsHelpJump==0 && tf.DisableCamChange==0"]
;ヘルプからジャンプしてきたフラグ初期化
[eval exp="tf.IsHelpJump=0"]
;クリック数初期化 意外にここでOKだった検証済み
[eval exp="tf.clicknum = 0"]
;ボタン全てに共通するマクロ
[dInitialButton]
[freeimage layer=4]
;カットイン削除
[cutin_erase]
;これここに無いと一番最初だけ消えちゃう
[eval exp="tf.MiniHelpAscendVis=1"]
;回復薬計算処理--------------------------------------------------------------------
;愛情の上昇値割る5。floorは切り捨て
[eval exp="f.Item_HPUP_MAX = Math.floor((f.Love-100) / 5)"]
[eval exp="f.Item_HPUP = f.Item_HPUP_MAX - f.Item_HPUP_Used"]
;使わないと思う 欲情射精計算処理--------------------------------------------------------------------
;f.EjacNumTotal割る5。floorは切り捨て
;;[eval exp="f.Item_Ejac_MAX = Math.floor((f.EjacNumTotal) / 5)"]
;;[eval exp="f.Item_Ejac = f.Item_Ejac_MAX - f.Item_Ejac_Used"]
;前回のアクトタイプを記録する。特殊移行専用なんだよね 何かに使えそうだけど
;いやこれタゲ射に必要だ!!!危なかった、全然気づいてなかった
[eval exp="tf.NudeType_Previous = tf.NudeType"]
[eval exp="tf.InsertType_Previous = tf.InsertType"]
[eval exp="tf.ActType_Previous = tf.ActType"]
[eval exp="tf.tempStoreLV_Previous = tf.tempStoreLV"]
;再選択用。キス等の再選択やABC選ぶボタン押した時、回想ONだと回想が流れてしまうのを阻止する。
;現時点で回想変数であるgalkaisouにしかかからない変数だ
[if exp="tf.Reselect == 1"]
[if exp="f.galkaisou == 1"]
[eval exp="tf.Regalkaisou = 1"]
[eval exp="f.galkaisou = 0"]
[endif]
[else]
;左下のアラート 再選択でぽんぽん出ると邪魔なので再選択の時はVisにしない
[eval exp="tf.AlartActionVis=0"]
[endif]
;クリッカブル初期化領域。以前選んだ設定が残ってしまう為、クリッカブル部分を初期化する。
[eval exp = "Clickable = []"]
;感度を表示する
[eval exp = "tf.Vis_Kando = 1"]
;挿入系と分ける必要を感じない。
[if exp="f.riverse == 0"]
;愛撫ムービー専用
[eval exp="tf.insert = 0"]
[else]
;挿入ムービーの時
[eval exp="tf.insert = 1"]
[endif]
;-------------------------------------------------------
;2章フェラのような、効果音も出し続ける物を制御している NEMURI
[eval exp="tf.fera = 1" cond = "f.act == 'F7WQ1'"]
[eval exp="tf.fera = 1" cond = "f.act == 'S7WQ1'"]
;-------------------------------------------------------
;前のtf.URAを引き継がないようにここで初期化する
;ただしリセレクトの時はこれやるとだめ…なはず
[eval exp="tf.URA = 0" cond="tf.Reselect != 1"]
;;;;;;;;;;;;;;
[if exp="tf.Tariaflag != 1"]
;通常時!ストーリーやギャラリー----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;カメラフラグでf.actを判別している。IndexはCとかVとか変わってくる。気をつけて
;01着衣・脱衣_02非挿入と挿入_03各種行為の順
;endifがこ(3こ並んで違和感あるかもしれんけど、これがただしい。先頭のifの中に入れ込んでる
;リセレクトされる時に欲望によって裏に変化するのを防ぐ
[if exp="f.camflag == '1'"] [eval exp="f.act=tf.WQwmv[tf.NudeType][0][0][ f.StoreLV[tf.NudeType][0][0] ] , tf.InsertType = 0 , tf.ActType = 0"][endif]
[if exp="f.camflag == '2'"] [eval exp="f.act=tf.WQwmv[tf.NudeType][0][1][ f.StoreLV[tf.NudeType][0][1] ] , tf.InsertType = 0 , tf.ActType = 1"][endif]
[if exp="f.camflag == '3'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[2] == 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][0][2+tf.URA][ f.StoreLV[tf.NudeType][0][2+tf.URA] ] , tf.InsertType = 0 , tf.ActType = 2 + tf.URA"][endif]
[if exp="f.camflag == '4'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[3] == 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][0][3+tf.URA][ f.StoreLV[tf.NudeType][0][3+tf.URA] ] , tf.InsertType = 0 , tf.ActType = 3 + tf.URA"][endif]
[if exp="f.camflag == '5'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[4] == 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][0][4+tf.URA][ f.StoreLV[tf.NudeType][0][4+tf.URA] ] , tf.InsertType = 0 , tf.ActType = 4 + tf.URA"][endif]
[if exp="f.camflag == '6'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[5] == 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][0][5+tf.URA][ f.StoreLV[tf.NudeType][0][5+tf.URA] ] , tf.InsertType = 0 , tf.ActType = 5 + tf.URA"][endif]
[if exp="f.camflag == '7'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[6] == 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][0][6+tf.URA][ f.StoreLV[tf.NudeType][0][6+tf.URA] ] , tf.InsertType = 0 , tf.ActType = 6 + tf.URA"][endif]
[if exp="f.camflag == 'A'"] [eval exp="f.act=tf.WQwmv[tf.NudeType][1][0][ f.StoreLV[tf.NudeType][1][0] ] , tf.InsertType = 1 , tf.ActType = 0"][endif]
[if exp="f.camflag == 'B'"] [eval exp="f.act=tf.WQwmv[tf.NudeType][1][1][ f.StoreLV[tf.NudeType][1][1] ] , tf.InsertType = 1 , tf.ActType = 1"][endif]
[if exp="f.camflag == 'C'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[8] == 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][1][2+tf.URA][ f.StoreLV[tf.NudeType][1][2+tf.URA] ] , tf.InsertType = 1 , tf.ActType = 2 + tf.URA"][endif]
[if exp="f.camflag == 'D'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[9] == 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][1][3+tf.URA][ f.StoreLV[tf.NudeType][1][3+tf.URA] ] , tf.InsertType = 1 , tf.ActType = 3 + tf.URA"][endif]
[if exp="f.camflag == 'E'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[10]== 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][1][4+tf.URA][ f.StoreLV[tf.NudeType][1][4+tf.URA] ] , tf.InsertType = 1 , tf.ActType = 4 + tf.URA"][endif]
[if exp="f.camflag == 'F'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[11]== 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][1][5+tf.URA][ f.StoreLV[tf.NudeType][1][5+tf.URA] ] , tf.InsertType = 1 , tf.ActType = 5 + tf.URA"][endif]
[if exp="f.camflag == 'G'"][if exp="tf.Reselect != 1"][if exp="AnotherAct[12]== 10"][eval exp="tf.URA = 10"][else][eval exp="tf.URA = 0"][endif][endif][eval exp="f.act=tf.WQwmv[tf.NudeType][1][6+tf.URA][ f.StoreLV[tf.NudeType][1][6+tf.URA] ] , tf.InsertType = 1 , tf.ActType = 6 + tf.URA"][endif]
;-----------------------------休憩--------------------------------------------------------------------------------
[if exp="f.camflag == 'Q'"][eval exp="f.act=tf.WQwmv[tf.NudeType][0][20][ f.StoreLV[tf.NudeType][0][20] ] , tf.ActType = 20"][endif]
;-----------------------------NEMURI HPダウン--------------------------------------------------------------------------------
;NMとSQの振り分けはOTOTALで行われる。
[if exp="f.camflag == 'N'"][eval exp="f.act=tf.WQwmv[tf.NudeType][0][21][0] ,f.seiyu = 1 , f.nodamage = 0 , f.talk ='*'+f.act+'talk' , kag.se[1].stop() , kag.se[2].stop() , tf.spanking = 0, tf.ActType = 21"][endif]
;-----------------------------NEMURI HPからの追撃BGゲージが溜まってる時は両方に用意したいよね--------------------------------------------------------------------------------
[if exp="f.camflag == 'ND'"][eval exp="f.act=tf.WQwmv[tf.NudeType][0][22][0] ,f.seiyu = 0 , f.nodamage = 0 , f.talk ='*'+f.act+'talk' , kag.se[1].stop() , kag.se[2].stop() , tf.spanking = 0, tf.ActType = 22"][endif]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[if exp="f.camflag == 'NN'"][eval exp="f.act='O9WQ9' ,f.seiyu = 0 , f.nodamage = 0 , f.talk ='*'+f.act+'talk' , kag.se[1].stop() , kag.se[2].stop() , tf.spanking = 0, tf.ActType = 21"][endif]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[else]
;タリア編
;SP初期化
[eval exp="f.StoreActSP[0][0][30] = 0"]
[layopt layer=message3 visible=false cond exp="tf.EXNumDay>=1"]
[layopt layer=message4 visible=false cond exp="tf.EXNumDay>=1"]
[position layer=message4 page=fore frame=""]
[cm]
[if exp="f.camflag == '1'"][eval exp="f.act='T1WQ1' , tf.NudeType = 0, tf.InsertType = 0, tf.ActType = 30, f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]=0"]
[elsif exp="f.camflag == '2'"][eval exp="f.act='T1WQ2' , tf.NudeType = 0, tf.InsertType = 0, tf.ActType = 30, f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]=1"]
[elsif exp="f.camflag == '3'"][eval exp="f.act='T1WQ3' , tf.NudeType = 0, tf.InsertType = 0, tf.ActType = 30, f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]=2"]
[elsif exp="f.camflag == '4'"][eval exp="f.act='T2WQ1' , tf.NudeType = 0, tf.InsertType = 1, tf.ActType = 30, f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]=0"]
[elsif exp="f.camflag == '5'"][eval exp="f.act='T2WQ2' , tf.NudeType = 0, tf.InsertType = 1, tf.ActType = 30, f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]=1"]
[elsif exp="f.camflag == '6'"][eval exp="f.act='T2WQ3' , tf.NudeType = 0, tf.InsertType = 1, tf.ActType = 30, f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]=2"]
[elsif exp="f.camflag == '7'"][eval exp="f.act='T2WQ4' , tf.NudeType = 1, tf.InsertType = 1, tf.ActType = 30"]
[else][eval exp="f.act='T1WQ1' , tf.InsertType = 0, tf.ActType = 30, f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]=0"]
[endif]
[endif]
;tf.ActTypeをここで計算しちゃう。分けたらすごいわかりにくくなっちゃったからね---------------------------------------
;;;[eval exp="tf.ActType = tf.ActType + tf.URA" cond="tf.Reselect!=1"]
[eval exp="tf.TempfAct=f.act"]
;talkの計算---------------------------------------------------------------
[eval exp="f.talk = '*' + f.act + 'talk'"]
;f.StoreLVがEXTOTALより先に計算される為、値を保持する必要がある。この変数はその為に必須
[eval exp="tf.tempStoreLV = f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]"]
;射精回数が長すぎるので簡略化
[eval exp = "tf.tempStoreEX = f.StoreEX[tf.NudeType][tf.InsertType][tf.ActType][tf.tempStoreLV]"]
;トータル回数 ボタン表示にこっちじゃないことに気づいた
[eval exp = "tf.tempTotalStoreEX = f.TotalStoreEX[tf.NudeType][tf.InsertType][tf.ActType][tf.tempStoreLV]"]
;イベントフラグ計算 指定射精の制御や、射精前イベントに使用 --------------------------------------------------
;現在の行為が初回、またはレベルアップする時は指定射精を出来ないイベントフラグを立たせる tf.LVMAXはもう最大レベルで上がらない保証つまりLVUPイベントも発生しない
;一度も射精してない、またはギャラリーにない条件被ってるように見えるが、このギャラリーの実質胸のLV専用。胸はPartのときはギャラリーには入らない為
;これだと胸は一度習得最大まで上げなきゃ指定射精出ないよね…でも普通にプレイしたら絶対指定取るまでには条件達成してるか
;ギャラリー中は当然出ない
;こっちが正しいよな?だってイベントのフラグだからね 上のだとイベ発生しなくても初回出ないじゃん
[if exp = "tf.galflag == 0 && (f.ActEXFlag[tf.NudeType][tf.InsertType][tf.ActType][tf.tempStoreLV] == 0 || sf.StoreEXGallery[tf.NudeType][tf.InsertType][tf.ActType][tf.tempStoreLV] == 0)"]
[eval exp="tf.EventFlag=1"]
[else]
[eval exp="tf.EventFlag=0"]
[endif]
;好奇心により習得値に微ボーナス ただしこの微妙な値で射精回数が3か4で結構変わるので案外重要っていう
;125でもいいかも…すごく迷ってる 好奇心の扉で検証した時、脱衣行けるのが少なくていやだったのでちょっと緩和
[eval exp="tf.EXP_ILVBonus=f.I_TLV/100"]
;;[eval exp="tf.EXP_ILVBonus=f.I_TLV/125"]
;過去にその行為をマスターしている時、次週で習得度が上昇しやすくなる
[if exp = "f.ActMaster[tf.NudeType][tf.InsertType][tf.ActType][tf.tempStoreLV]>0"]
[eval exp="tf.EXPbias=0.43"]
[else]
[eval exp="tf.EXPbias=0.0"]
[endif]
;---------------------------------------------------------------------------------------------------------------
;射精・絶頂・両方をチェックし格納。HP0で休憩もの時は発動しない
[if exp="f.HP > 0"]
;射精・絶頂の振り分け
[if exp="tf.arrBoth.find(&f.act,0) >= 0"]
[eval exp="tf.EjacFlag = 'Both'"]
[elsif exp="tf.arrEjac.find(&f.act,0) >= 0"]
[eval exp="tf.EjacFlag = 'Ejac'"]
[elsif exp="tf.arrOrg.find(&f.act,0) >= 0"]
[eval exp="tf.EjacFlag = 'Orga'"]
[elsif exp="tf.arrOther.find(&f.act,0) >= 0"]
[eval exp="tf.EjacFlag = 'Other'"]
[else]
[eval exp="tf.EjacFlag = 'Other'"]
[endif]
;ダウンの振り分け
[if exp="tf.arrNMDown.find(&f.act,0) >= 0"]
[eval exp="tf.DownFlag = 'NM'"]
[elsif exp="tf.arrSQDown.find(&f.act,0) >= 0"]
[eval exp="tf.DownFlag = 'SQ'"]
[else]
[eval exp="tf.DownFlag = 'Both'"]
[endif]
[else]
;ダウン時など などといっても今はダウンしかないが
[eval exp="tf.EjacFlag = ''"]
[endif]
;初期化しないと引き継ぐことがある すぐ戻るけどね
[eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType]=0"]
[eval exp="f.SPgauge = 0"]
;呼吸を初期化する まて、位置がおかしくないかこれじゃ前回のを参照するだろう一旦消したがやっぱ消していいっぽい2023年8月30日
;まってくれ、要るんじゃないか休憩で違うボイス出たが… ちょっと要検証2023年9月19日
[dCurrentVoice]
;まって、これ要るっぽい。EX後にCurrentVoiceが残るせいでBreath_Bothになっちゃう
[eval exp="lCurrentVoice=''"]
;フェラ・クンニは湿潤が上がる効果がある。掛け算なので倍率で指定
[if exp="f.camflag == '4' && tf.InsertType == 0"]
[eval exp="tf.WetPlus = 1.5"]
[else]
[eval exp="tf.WetPlus = 1"]
[endif]
;UIを表示
[eval exp = "tf.UIhide = 0"]
;ポーズフラグの解除 もし1になったまま他の動画が出るとステータスの変動が無くなっちゃうので
[eval exp = "lPauseTalkFlag = 0"]
;体験版用のレベルアップさせない配列に含まれていて、しかも体験版モードの時はレベルアップできない
[if exp="tf.arrTrialNoLVUP.find(&f.act,0) >= 0 && tf.TrialMode==1"]
[eval exp="tf.NoLVUP=1"]
[else]
[eval exp="tf.NoLVUP=0"]
[endif]
;挿入するシーンかを確定させる
[if exp="tf.arrInsert.find(&f.act,0) >= 0"]
[eval exp="tf.isInsert=1"]
[else]
[eval exp="tf.isInsert=0"]
[endif]
[if exp="tf.arrABnormal.find(&f.act,0) >= 0 || tf.Tariaflag == 1"]
[eval exp="tf.isBadGirl=1"]
[else]
[eval exp="tf.isBadGirl=0"]
[endif]
;観察系の倍率引き継いじゃうので消しとく
[eval exp="tf.MclickNum=0"]
;これがあると他の行為選んだ時に観察の倍率1に戻す 同じ行為の時は変わらなかったりする 下の「移行イベント」で実装
;[eval exp="tf.MclickBiasChecker=1"]
;キスエフェクトを引き継いだ事があったので一応治す
[eval exp="tf.MClickMode=''"]
;指定の行為から行為へ飛んだ時に発動するちょっと特殊なイベント もうテストは出来てる
[移行イベント]
;射精の初期化 移行イベの後じゃないと駄目
[eval exp="tf.lastStatusEjac = false"]
[eval exp="tf.lastStatusOrga = false"]
;新射精・絶頂システム-------------------------------------------------------------------------------
;射精ゲージに値を代入 準備領域にもこれがないと前の行為を引き継いでしまう
[if exp="tf.EjacFlag == 'Ejac' || tf.TargetEjac==1"][eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = f.EjacSP , tf.EjacFlag = 'Ejac'"]
[elsif exp="tf.EjacFlag == 'Orga'"][eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = f.OrgaSP"]
[elsif exp="tf.EjacFlag == 'Both'"][eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = Math.min(f.EjacSP, f.OrgaSP)"]
[elsif exp="tf.EjacFlag == 'Other'"][eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = Math.max(f.EjacSP, f.OrgaSP)"]
[else][eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType]=0"]
[endif]
;HPと同時に指定射精でバグこれは検証してこれで防げる事が判明している
[if exp="tf.TargetEjac==1"]
;;[setHP value = -50000.1]
[setHP value = 0.1]
[endif]
;最後のf.actを抽出 dActEXのエラー防止の為
[eval exp="tf.lastfact = f.act"]
;行為ごとのSPゲージを得る
[eval exp = " f.SPgauge = f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType]"]
;欲望爆発専用 なんだこれだけでいいんだね!
[if exp="tf.SexualExplosion==1"]
[setHP value = 0.1]
[if exp="sf.GameSpeed==0"][eval exp="sf.GameSpeed=0.01"][endif]
[eval exp="tf.lTurnStatus = 0,kag.fore.layers[7].visible = false"]
[eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = Math.min(f.EjacSP, f.OrgaSP)=100"]
[dSetParam]
[endif]
;指定射精専用。このタイミングでEXへと飛ぶ仕組み上クリック系の時これが無いと発動しないんだよね…
[if exp="tf.TargetEjac==1"]
[if exp="sf.GameSpeed==0"][eval exp="sf.GameSpeed=0.01"][endif]
[dSetParam]
[endif]
;ここで各アクションをf.actでジャンプさせている
[eval exp="dJump(f.act)"]
*射精ムービー
[eval exp="tf.TryError = 0"]
[eval exp="tf.TempfAct=f.act"]
;射精前イベントで指定射精を習得する
[射精前イベント]
[指定射精]
;f.seiyuはギャラリー用切り替えボタン
[eval exp="f.seiyu = 1"]
[eval exp="f.nodamage = 0"]
[eval exp="tf.spanking = 0"]
[eval exp="f.talk ='*'+f.act+'talk'"]
;2022年8月28日
[eval exp="f.camflag='EX'"]
[eval exp="f.TLV += 1"]
;これがないとEXで通常のcurentvoiceが出るパターンあるため
[dCurrentVoice]
;再選択に掛かるフラグの初期化
[eval exp="tf.ReSelCall = 0"]
;ここでifで制御すればEXが存在しないパターンを回避できる事はできる…
;各種射精・絶頂回数の記録を行う
;射精・絶頂のフラグを一時的に0にする。これらはMacro_SystemによりTrueの判定が行われる
[eval exp="tf.lastStatusEjac = false"]
[eval exp="tf.lastStatusOrga = false"]
;黒枠残る事あるので消す
[image storage="blank.png" left=0 top=0 layer=2 visible=true]
;欲望爆発の場合必要になっちゃう
[if exp="tf.SexualExplosion==1"]
[dStatusPlus]
[endif]
[jump storage="EXTOTAL.ks" target="&('*'+f.act)"]
*numwarp
;;;;;;;;;;;;;;;;;;;;;
;;;現在使っていないが、afterinitと組み合わせる事で強制力がある強力なコマンド。消さないで
[eval exp="kag.primaryLayer.setCursorPos(rposx(20), rposy(20))"]
[eval exp="kag.hideMouseCursor();"]
[eval exp="kag.current.keyLink = -30"]
[wait time = 70]
[if exp="skey == '1'"][eval exp="kag.primaryLayer.setCursorPos(rposx(590), rposy(21))"][endif]
[if exp="skey == '2'"][eval exp="kag.primaryLayer.setCursorPos(rposx(590), rposy(91))"][endif]
[if exp="skey == '3'"][eval exp="kag.primaryLayer.setCursorPos(rposx(590), rposy(21))"][endif]
[wait time = 70]
[eval exp="kag.current.processLink(kag.current.keyLink)"]
[s]
*dActDesireUp
;欲望値の限界上昇計算
[if exp = "f.AD_EXP > 100"]
;青の最大値を現在値に
[eval exp = "f.AD_EXP = 100"]
[elsif exp = "f.AD_EXP < 0"]
;青の最大値を現在値に
[eval exp = "f.AD_EXP = 0"]
[endif]
[jump storage="first.ks" target="*buttoninitial"]
*dActLevelUp
;レベルを三重配列に格納する。半裸(0)・脱衣(1)/非挿入(0)・挿入(1)/各種行為
;着衣・脱衣がいらない可能性はないか?いや必要だ!そうか着衣から急に脱衣になったりするからいるんだな
;レベルが3未満の時のみ発動し現状のレベルプラスを行う。、
[if exp="f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType] < 2"]
;ギャラリー時には既に上位レベルの物を見た場合のみレベルが上昇される。
[if exp = "tf.galflag==1 && f.galleryall != 1"]
[if exp = "sf.StoreGallery[tf.NudeType][tf.InsertType][tf.ActType][f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType]+1] == 1 "]
[eval exp="f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType] += 1"]
[endif]
[else]
[eval exp="f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType] += 1"]
[endif]
[endif]
[jump storage="first.ks" target="*buttoninitial"]
*dActLevelDown
;レベルを三重配列に格納する。半裸(0)・脱衣(1)/非挿入(0)・挿入(1)/各種行為
;着衣・脱衣がいらない可能性はないか?いや必要だ!そうか着衣から急に脱衣になったりするからいるんだな
;レベルが3未満の時のみ発動し現状のレベルプラスを行う。、
[if exp="f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType] > 0"]
[eval exp="f.StoreLV[tf.NudeType][tf.InsertType][tf.ActType] -= 1"]
[endif]
[jump storage="first.ks" target="*buttoninitial"]
*dGalleryMode
;レベルを三重配列に格納する。半裸(0)・脱衣(1)/非挿入(0)・挿入(1)/各種行為
;着衣・脱衣がいらない可能性はないか?いや必要だ!そうか着衣から急に脱衣になったりするからいるんだな
;レベルが3未満の時のみ発動し現状のレベルプラスを行う。、
[layopt layer=1 page=fore visible=false]
[jump storage="first.ks" target="*buttoninitial"]
*dHPDebug
[setHP value = "&tf.tempHP"]
[jump storage="first.ks" target="*buttoninitial"]
*dSPBuffed
;Spのバフ。倍なんしょ
[if exp="SP_Buffed == 1"][eval exp="SP_Buffed = 2"]
[elsif exp="SP_Buffed == 2"][eval exp="SP_Buffed = 4"]
[else exp="SP_Buffed >= 4"][eval exp="SP_Buffed = 1"]
[endif]
[jump storage="first.ks" target="*buttoninitial"]
*dActHealMessage
;休憩。QはキューケイのQ。回復薬を追加したよ
[if exp="f.jfQ == 1 && tf.Item_HPUP_Flag == 0"]
[eval exp="f.camflag='Q'"]
[jump storage="first.ks" target="*ムービー準備領域"]
[elsif exp="f.jfQ == 1 && tf.Item_HPUP_Flag == 1"]
[jump storage="talk.ks" target="*Item_HPUPtalk"]
[endif]
*dSmash
;セーフティ 処女喪失に出たりしたので
[if exp="tf.currentscene=='SEX' && tf.TempfAct.indexOf('EX') < 0 && tf.TempfAct.indexOf('Spare') < 0 && tf.ActType <= 16"]
[eval exp="TickStop = 1"]
[locklink]
[layopt layer=4 visible=false]
[playse buf="3" storage="Smash" loop="false"]
[eval exp="tf.SmashSPgauge= f.SPgauge"]
[eval exp="tf.SmashEjacSP = f.EjacSP"]
[eval exp="tf.SmashOrgaSP = f.OrgaSP"]
;SP初期化した方がいいわ
[eval exp="f.SPgauge= 0"]
[eval exp="f.EjacSP = 0"]
[eval exp="f.OrgaSP = 0"]
;観察系は好奇心固定にしたほうがいいな
[if exp="tf.arrMclick.find(&f.act,0) >= 0"]
[eval exp="tf.MclickBias=1"]
[eval exp="tf.MclickBiasChecker=1"]
[eval exp="tf.MClickCVISX = 'IX'"]
[if exp = "tf.MClickCVISX.indexOf('C') >= 0"][eval exp = "tf.MClick_C = 1"][else][eval exp = "tf.MClick_C = 0"][endif]
[if exp = "tf.MClickCVISX.indexOf('V') >= 0"][eval exp = "tf.MClick_V = 1"][else][eval exp = "tf.MClick_V = 0"][endif]
[if exp = "tf.MClickCVISX.indexOf('I') >= 0"][eval exp = "tf.MClick_I = 1"][else][eval exp = "tf.MClick_I = 0"][endif]
[if exp = "tf.MClickCVISX.indexOf('S') >= 0"][eval exp = "tf.MClick_S = 1"][else][eval exp = "tf.MClick_S = 0"][endif]
[if exp = "tf.MClickCVISX.indexOf('X') >= 0"][eval exp = "tf.MClick_X = 1"][else][eval exp = "tf.MClick_X = 0"][endif]
[パラメータ処理]
[endif]
;もしかして二重計算されてたせいでおかしかったのか
[eval exp="tf.smashGS=sf.GameSpeed"]
;スマッシュ回数
[eval exp="tf.SmashUsed+=1" cond="tf.galflag!=1"]
;スマッシュの計算 ここで行われる
;HPか感度の秒数計算すればいい と思ってたけどそれは使用できるかの判定の方だけでいいな 早い方の倍率をかける
[eval exp="tf.TempGameSpeed=sf.GameSpeed, tf.IsSmash=1 , sf.GameSpeed = tf.SmashDamage"]
[dSmashEffect]
[setHP value = "5"]
[wait canskip=false time=100]
[dSetParam]
[unlocklink]
[endif]
[jump storage="first.ks" target="*buttoninitial"]
*dSPChange
;Spをチェンジする。0と60。指定射精でもするべきかもしれんが親切すぎると逆につまんないよね って思ったけどギャラリーだからいいのではうーん…
[if exp="System.getKeyState(VK_CONTROL)"]
[eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = 85.1"]
[eval exp="f.EjacSP = TargetBorder+0.1"]
[eval exp="f.OrgaSP = TargetBorder+0.1"]
[eval exp="EjacGaugeMAX=0"][eval exp="OrgaGaugeMAX=0"][freeimage layer=8]
[elsif exp="DamageBorder >= f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType]"]
[eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = 60.1"]
[eval exp="f.EjacSP = DamageBorder+0.1"]
[eval exp="f.OrgaSP = DamageBorder+0.1"]
[eval exp="EjacGaugeMAX=0"][eval exp="OrgaGaugeMAX=0"][freeimage layer=8]
[elsif exp="DamageBorder < f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType]"]
[eval exp="f.StoreActSP[tf.NudeType][tf.InsertType][tf.ActType] = 0"]
[eval exp="f.EjacSP = 0"]
[eval exp="f.OrgaSP = 0"]
[eval exp="EjacGaugeMAX=0"][eval exp="OrgaGaugeMAX=0"][freeimage layer=8]
[endif]
[dUIActGauge]
[eval exp="tf.Reselect = 1"]
;あまたわけわからん変数を増やすしかないよぉ…カメラの変動をしたくない時になる SPChangeでしか使ってない ただ汎用性は高い…
[eval exp="tf.DisableCamChange = 1"]
[jump storage="first.ks" target="*ムービー準備領域"]
*クリックエフェクト
;非常に変則的 インクリでクリックエフェクト使う場合にのみ発動 主にクンニ
;会話中はSXキーを使用不能に tf.SXstopはの時キー操作を不能に
[eval exp="tf.SXstop = 0"]
[image storage="blank.png" left=0 top=0 layer=2 visible=true]
;なんか右の習得消えなかった事あったので一応
[layopt layer=6 page=fore visible=false]
[if exp="tf.arrAnotherMovie.find(&f.act,0) >= 0"]
[dClickEffectMovie point = "&(f.act+tf.CameraName+tf.ClickInside+'-Tap')"]
[else]
;エフェクト表示
[layopt layer=2 visible=true]
;エフェクト変更
[ap_image layer=2 storage="キスマークエフェクト" dx=&(kag.primaryLayer.cursorX-50) dy=&(kag.primaryLayer.cursorY-50) width=100]
[キス効果音]
[喘ぎボイス]
[endif]
;ちょっと待たないとエフェクトが出ない
[wait time =300 canskip = "false"]
;KAIWAENDはジャンプさせる たぶん省略値はじゃないと無理
[jump storage="first.ks" target="&f.button"]
*dWallPaper
;壁紙を変えるボタン
[eval exp="f.WallPaperSelect+=1"]
[eval exp="f.WallPaperSelect=0" cond="f.WallPaperSelect>=7"]
[if exp="f.WallPaperSelect == 0"][image storage="base_black" layer=base page=fore]
[elsif exp="f.WallPaperSelect == 1"][image storage="base_PoppedOut" layer=base page=fore]
[elsif exp="f.WallPaperSelect == 2"][image storage="OKUMONO_A" layer=base page=fore]
[elsif exp="f.WallPaperSelect == 3"][image storage="OKUMONO_B" layer=base page=fore]
[elsif exp="f.WallPaperSelect == 4"][image storage="OKUMONO_C" layer=base page=fore]
[elsif exp="f.WallPaperSelect == 5"][image storage="OKUMONO_D" layer=base page=fore]
[elsif exp="f.WallPaperSelect == 6"][image storage="OKUMONO_E" layer=base page=fore]
[endif]
[jump storage="first.ks" target="*buttoninitial"]
*dBGMselectSEX
;BGMを選択。デバッグ用
;押した瞬間に現時点の曲から次の曲に行くわけだから位置はここでいい
[eval exp="tf.BGMselectSEX = int+(tf.BGMselectSEX) + 1"]
;CTRLキーを押した時にミュートに
[if exp="System.getKeyState(VK_CONTROL)"]
[eval exp="tf.BGMselectSEX = 0"]
[eval exp="tf.CurrentBGM='MUTE'"]
[elsif exp="System.getKeyState(VK_SHIFT)"]
[eval exp="tf.BGMselectSEX = 'A'"]
[eval exp="tf.CurrentBGM='NIGHT'"]
[else]
[eval exp="tf.CurrentBGM=''"]
[endif]
[eval exp="tf.BGMselectSEX = 0" cond="tf.BGMselectSEX>=10"]
[dBGMselectSEX num = &tf.BGMselectSEX]
[jump storage="first.ks" target="*buttoninitial"]
*dMute
;デバッグミュート。あると自分でも使いやすいよね
;オプションと似ている。
;ミュートボタンを押された時全てミュートにすればいい
;BGMミュート-----------------
;ボリュームが0じゃない時はミュートにし、の時戻す
[if exp="sf.MasterVal != 0"]
[eval exp="sf.bgmvaldummy = sf.bgmval"]
[eval exp="sf.bgmval = 0"]
[else]
[eval exp="sf.bgmval = sf.bgmvaldummy"]
[endif]
[iscript]
var vol = sf.bgmval;
if (!sf.rcMenu.BgmMute)
sf.rcMenu.BgmVolume = vol;
else
vol = 0;
kag.bgm.setOptions(%[gvolume:vol]);
var l;
if ((l = findLayer("bgmvval")) !== void)
l.setOptions(%[text:string(vol)]);
if ((l = findLayer("bgmslider")) !== void)
l.setOptions(%[hval:vol]);
[endscript]
;SEミュート-----------------
;ボリュームが0じゃない時はミュートにする
[if exp="sf.MasterVal != 0"]
;[eval exp="sf.sevaldummy = sf.seval"]
[eval exp="sf.seval = 0"]
[else]
[eval exp="sf.seval = sf.sevaldummy"]
[endif]
[iscript]
var vol = sf.seval;
if (!sf.rcMenu.SeMute){
sf.rcMenu.SeVolume = vol;
f.videose = vol;} //SHORTCUT ここ変えてるf.videoseで動画の効果音制御
else
vol = 0;
kag.se[0].setOptions(%[gvolume:vol]);
kag.se[1].setOptions(%[gvolume:vol]);
kag.se[4].setOptions(%[gvolume:vol]);
kag.se[5].setOptions(%[gvolume:vol]);
kag.movies[0].setOptions(%[volume:vol]);//上2行だけで本当はミュートされるんだけど、ムービー再生中だと即時ではやってくれないので直接動画の音声を消すにゃ
var l;
if ((l = findLayer("sevval")) !== void)
l.setOptions(%[text:string(vol)]);
if ((l = findLayer("seslider")) !== void)
l.setOptions(%[hval:vol]);
[endscript]
;ボイスミュート-----------------
;ボリュームが0じゃない時はミュートにする
[if exp="sf.MasterVal != 0"]
[eval exp="sf.voicevaldummy = sf.voiceval"]
[eval exp="sf.voiceval = 0"]
[else]
[eval exp="sf.voiceval = sf.voicevaldummy"]
[endif]
[iscript]
var vol = sf.voiceval;
if (!sf.rcMenu.VoiceMute){
sf.rcMenu.VoiceVolume = vol;}
else
vol = 0;
kag.se[2].setOptions(%[gvolume:vol]);//暫定的に2番をボイスにしてるけど変えるかも
kag.se[3].setOptions(%[gvolume:vol]);//暫定的に2番をボイスにしてるけど変えるかも
var l;
if ((l = findLayer("voicevval")) !== void)
l.setOptions(%[text:string(vol)]);
if ((l = findLayer("voiceslider")) !== void)
l.setOptions(%[hval:vol]);
[endscript]
[jump storage="first.ks" target="*buttoninitial"]
*dTimeEffect
;時間エフェクト 画面エフェクト
[eval exp="tf.TimeEffect += 1"]
;時間エフェクトマクロ tf.TimeEffectの数字によりエフェクト変更させる。
[dTimeEffect]
[jump storage="first.ks" target="*buttoninitial"]
*dSexualExplosion
;時間エフェクト 画面エフェクト
[dVoice name="VB_NM興奮"]
[eval exp="TickStop = 1"]
[locklink]
[playse buf="3" storage="Smash" loop="false"]
[eval exp="tf.SexualExplosion = 1"]
[eval exp="tf.SexualExplosionUsed = 1"]
[freeimage layer=4]
[current layer=message1]
[layopt layer=2 visible=false]
[layopt layer=3 visible=false]
[layopt layer=4 visible=false]
[layopt layer=6 visible=false]
[layopt layer=7 visible=false]
[layopt layer=message1 visible=true]
[layopt layer=message2 visible=false]
[layopt layer=message3 visible=false]
[dSmashEffect]
[wait canskip=false time=100]
[eval exp="TickStop = 0"]
[unlocklink]
[欲望爆発表示]
[eval exp="f.act='O7WQ1'"]
[if exp="tf.NudeType == 0"]
[eval exp="f.camera=1"]
[else]
[eval exp="f.camera=2"]
[endif]
[dPlayMovie]
[rclick enabled = false][eval exp="f.middleclick = 0"]
[wait canskip=false time=30000]
[s]