// 右クリックメニュー「メッセージをスキップ」 [Macro name="MsgSkip"] [Skip ON] [EndMacro] // 右クリックメニュー「メッセージ速度 - *」 [Macro name="ChgMsgSpeed"] // 一旦、項目名をリセットする [SetContextMenu id=2 caption="即時表示" menuType=system] [SetContextMenu id=3 caption="最速" menuType=system] [SetContextMenu id=4 caption="速い" menuType=system] [SetContextMenu id=5 caption="普通" menuType=system] [SetContextMenu id=6 caption="遅い" menuType=system] [If exp="%speed == 0"] // 即時表示 [SetContextMenu id=2 caption="即時表示 <-" menuType=system] [SetSystem msgSpd_Normal=0] [ElseIf exp="%speed == 1"] // 最速 [SetContextMenu id=3 caption="最速 <-" menuType=system] [SetSystem msgSpd_Normal=10] [ElseIf exp="%speed == 2"] // 速い [SetContextMenu id=4 caption="速い <-" menuType=system] [SetSystem msgSpd_Normal=30] [ElseIf exp="%speed == 3"] // 普通 [SetContextMenu id=5 caption="普通 <-" menuType=system] [SetSystem msgSpd_Normal=50] [ElseIf exp="%speed == 4"] // 遅い [SetContextMenu id=6 caption="遅い <-" menuType=system] [SetSystem msgSpd_Normal=70] [Else] // 普通 [SetContextMenu id=5 caption="普通 <-" menuType=system] [SetSystem msgSpd_Normal=50] [EndIf] // メニューを更新してシステム情報を保存する [UpdateContextMenu] [SaveSystem] [EndMacro] // ページ末まで一気に表示切り替え [Macro name="ChgPageDash"] [If exp="#System.pageDash==true"] [SetSystem pageDash=false] [Else] [SetSystem pageDash=true] [EndIf] [SaveSystem] [EndMacro] // オートモード切り替え [Macro name="ChgAutoMode"] [If exp="#SystemSts.autoMode==ON"] [AutoMode OFF] [Else] [AutoMode ON] [EndIf] [EndMacro] // オートモードウェイト変更 [Macro name="ChgAutoModeWait"] [SetSystem autoMode_Wait=%time] [SaveSystem] [EndMacro] // メッセージを隠す [Macro name="HideMessage"] [HideMsg] [EndMacro] // 履歴をみる [Macro name="DisplayHistory"] [DispHistory] [EndMacro] // 画面表示モード [Macro name="ChgScreenMode"] [SetSystem screenMode=%mode] [SaveSystem] [EndMacro] // ゲームセーブ [Macro name="ExecSave" export=true] [If exp="%chk_ow==true"] // 上書き確認指示あり [GetSaveName no=%no var=tmpName rslt=tmpRslt] [If exp="@tmpRslt==true"] [Var tmpMsg="%no+'番のデータを上書きします。\rよろしいですか?'"] [MsgBox title="上書き確認" msg=@tmpMsg btnCap=はい,いいえ defBtn=1 var=selIdx] [If exp="@selIdx==1"] // いいえを選択 [DelVar name=tmpName,tmpRslt,tmpMsg,selIdx] [ExitMacro] [EndIf] [EndIf] [DelVar name=tmpName,tmpRslt,tmpMsg,selIdx] [EndIf] [SaveGame no=%no|0] [If exp="%no >= 0 && %no <= 5"] [UpdateSaveLoadMenuNo no=%no] [EndIf] [EndMacro] // ゲームロード [Macro name="ExecLoad" export=true] [LoadGame no=%no|0] [EndMacro] // セーブデータ削除 [Macro name="DelSaveData" export=true] [DelSave no=%no|0] [If exp="%no >= 0 && %no <= 5"] [UpdateSaveLoadMenuNo no=%no] [EndIf] [EndMacro] // 全セーブ/ロードメニュー項目更新 [Macro name="UpdateSaveLoadMenu"] [Var tmpNo=0] [While exp="@tmpNo<=5"] [UpdateSaveLoadMenuNo no=@tmpNo] [Var tmpNo="@tmpNo+1"] [Loop] [DelVar name=tmpNo] [EndMacro] // セーブ/ロードメニュー項目更新 [Macro name="UpdateSaveLoadMenuNo"] [GetSaveName no=%no var=tmpName rslt=tmpRslt] [Var tmpName="': '+@tmpName"] [If exp="%no == 0"] [ChgSysMenuItem id=MENU_LOAD no=%no enabled=@tmpRslt] [SetContextMenu id=10 enabled=@tmpRslt] [UpdateContextMenu] [Else] [ChgSysMenuItem id=MENU_SAVE no=%no caption=@tmpName] [ChgSysMenuItem id=MENU_LOAD no=%no caption=@tmpName enabled=@tmpRslt] [EndIf] [DelVar name=tmpName,tmpRslt] [EndMacro] // セーブ画面表示 [Macro name="DispSave"] [Var SaveLoadType=0 _read_=true] [LoadMovieLv level=1 path="./resorce/System/SaveLoadScreen.swf"] [DelVar name=SaveLoadType] [EndMacro] // ロード画面表示 [Macro name="DispLoad"] [Var SaveLoadType=1 _read_=true] [LoadMovieLv level=1 path="./resorce/System/SaveLoadScreen.swf"] [DelVar name=SaveLoadType] [EndMacro] // 最初に戻る [Macro name="ReturnTitle"] [InitGame path="./gamou.txt"] [EndMacro] // 終了する [Macro name="EndGame"] [MsgBox title="終了の確認" msg="終了しますか?\r(※終了しない場合はウインドウを閉じて終了してください)" btnCap=はい,いいえ defBtn=1 var=selIdx] [If exp="@selIdx==0"] // はいを選択 [ExitSystem] [EndIf] [EndMacro] // このソフトについて [Macro name="DispAbout"] [MsgBox path_BG="./resorce/System/About_LemoNovel.swf" sizeMethod=PICTURE] [EndMacro] // 選択前処理 [Macro name="PreSelect"] // 履歴処理を一時的にOFF [History OFF] // メッセージを即時表示にする [MsgLayer speed_Normal=0] [EndMacro] // 選択後処理 [Macro name="AfterSelect"] [ClearMsg] // メッセージ速度を元に戻す [MsgLayer speed_Normal=user] // 履歴処理を再開 [History ON] [EndMacro] // 背景切替 [Macro name="ChgBG"] [If exp="%notMsg != true"] [MsgLayer visible=false] [EndIf] [LoadBG path=%path] [SetFixedBGTrans mode=%mode|"crossfade" path=%path2|"" time=%time|500 skip=%skip|true] [StartTrans] [If exp="%notMsg != true"] [MsgLayer visible=true] [EndIf] [EndMacro] // キャラクター表示 [Macro name="ShowChar"] [If exp="%msgOff == true"] [MsgLayer visible=false] [EndIf] [LoadChar id=%id path=%path] [SetFixedCharTrans id=%id mode=%mode|"fadein" time=%time|500 posX=%posX|160 posY=%posY|160] [StartTrans] [If exp="%msgOn == true"] [MsgLayer visible=true] [EndIf] [EndMacro] // キャラクター非表示 [Macro name="HideChar"] [SetFixedCharTrans id=%id mode=%mode|"fadeout" time=%time|200] [StartTrans] [EndMacro] // 既読スキップ確認処理 [Macro name="NotifyAlreadyRead"] // セーブを一時的に無効にする [Save OFF] // メッセージレイヤーを非表示化 [MsgLayer visible=false] // 既読スキップ確認用のメッセージレイヤーを生成する [Var topId=#MsgLayer.count] [ChgLayerCnt *msgLayer="@topId + 1"] // 生成したレイヤーをアクティブにする [ChgMsgLayer id=@topId] [MsgLayer id=@topId visible=true posX=0 posY=0 width=#System.width height=#System.height alpha=70 path_BG=""] // 確認メッセージを表示 [PreSelect] 『[Output msg=%label]』は、既に読んだことがあります。[r] スキップしますか?[r][r] 1.[Link]スキップする[/Link][r] 2.[Link]スキップしない[/Link] [StartSelect var=selIdx] [AfterSelect] // 使用済みのレイヤーを破棄する [ChgMsgLayer *id="@topId - 1"] [ChgLayerCnt msgLayer=@topId] [DelVar name=topId] // セーブを有効に戻す [Save ON] [If exp="@selIdx == 0"] // 既読スキップ [Skip NEXT_LABEL] [EndIf] [EndMacro] // ゲームロード完了イベント [Macro name="SysEv_CompLoadGame"] [UpdateSaveLoadMenu] [EndMacro] // リンク選択モードタイムアウト処理 [Macro name="NotifyTimeout" export=true] [EndSelect] [EndMacro] // サンプルセーブ/ロード画面 [Macro name="TestSaveLoad"] // システムメニューを無効化する [SetSysMenu enabled=false] // セーブポイントの更新を無効にする [Save UPD_OFF] // メッセージレイヤーを1枚追加生成する [Var topId=#MsgLayer.count] [ChgLayerCnt *msgLayer="@topId + 1"] // 生成したレイヤーをアクティブにする [ChgMsgLayer id=@topId] [MsgLayer id=@topId visible=true posX=0 posY=0 width=#System.width height=#System.height alpha=85 path_BG=""] [PreSelect] [r] [If exp="%mode==SAVE"] セーブ [Else] ロード [EndIf] するデータを選択していください。 [Var stIdx=1] [RegistBtnTemp name=MENU font_Color=0xFFFFFF font_Color_Point=0xFF8040 font_Color_Press=0xC0C0C0 font_Color_Invalid=0xC0C0C0] [While exp="true"] [Var tmpCnt=@stIdx edIdx="@stIdx + 10"] [While exp="@tmpCnt < @edIdx"] // セーブデータ名を取得 [GetSaveName no=@tmpCnt var=tmpName rslt=tmpRslt] [Var tmpName="@tmpCnt + ': ' + @tmpName"] // 先頭揃え [If exp="@tmpCnt < 10"] [Var tmpName="' ' + @tmpName"] [ElseIf exp="@tmpCnt < 100"] [Var tmpName="' ' + @tmpName] [EndIf] // セーブデータ名でボタンを生成 [If exp="%mode==LOAD && @tmpRslt==false"] // ロードでデータなしは選択不可 [Button id=@tmpCnt type=FIXED dstLayer=MSG dstId=@topId posX=30 *posY="70 + 33 * ((@tmpCnt - 1) mod 10)" caption=@tmpName enabled=false template=MENU] [Else] // セーブならいずれも選択可能 [Button id=@tmpCnt group=SAVELOAD dstLayer=MSG dstId=@topId posX=30 *posY="70 + 33 * ((@tmpCnt - 1) mod 10)" caption=@tmpName template=MENU] [EndIf] [Var tmpCnt="@tmpCnt + 1"] [Loop] [Button id=PAGE_PREV group=SAVELOAD dstLayer=MSG dstId=@topId posX=150 posY=400 caption="<<前のページ" template=MENU] [Button id=PAGE_NEXT group=SAVELOAD dstLayer=MSG dstId=@topId posX=330 posY=400 caption="次のページ>>" template=MENU] [Button id=RETURN group=SAVELOAD dstLayer=MSG dstId=@topId posX=292 posY=430 caption="戻る" template=MENU] [StartSelectBtn group=SAVELOAD var=SL_selId delBtn=false] [Var tmpCnt=@stIdx edIdx="@stIdx + 10"] [If exp="@SL_selId==PAGE_NEXT"] // 『次のページ』を押下 [Var stIdx="@stIdx + 10"] [If exp="@stIdx > 100"] [Var stIdx=1] [EndIf] [ElseIf exp="@SL_selId==PAGE_PREV"] // 『前のページ』を押下 [Var stIdx="@stIdx - 10"] [If exp="@stIdx < 0"] [Var stIdx=91] [EndIf] [ElseIf exp="@SL_selId!=RETURN"] // いずれかのデータを選択 [If exp="%mode==SAVE"] [ExecSave no=@SL_selId chk_ow=true] [Else] [ExecLoad no=@SL_selId] [MsgBox title="ロード失敗" msg="ゲームデータのロードに失敗しました。" btnCap=閉じる] [EndIf] [EndIf] [DelButton group=SAVELOAD] [While exp="@tmpCnt < @edIdx"] // 無効ボタンを削除する [DelButton id=@tmpCnt] [Var tmpCnt="@tmpCnt + 1"] [Loop] [If exp="@SL_selId==RETURN"] // 『戻る』を押下 [Break] [EndIf] [Loop] [AfterSelect] // 使用済みのレイヤーを破棄する [ChgMsgLayer *id="@topId - 1"] [ChgLayerCnt msgLayer=@topId] [DelVar name=SL_selId,stIdx,edIdx,tmpName,tmpRslt,topId] // セーブポイントの更新を有効に戻す [Save UPD_ON] // システムメニューを有効化する [SetSysMenu enabled=true] // 押下したボタンを有効状態に戻す [ChgButton id=%btnId|LOAD enabled=true] [EndMacro] // 音量変更 [Macro name="ChgBGMVol"] [SetSystem bgmVolume=%vol] [SaveSystem] [EndMacro] [Macro name="ChgSndVol"] [SetSystem sndVolume=%vol] [SaveSystem] [EndMacro] [Macro name="ChgSysEvVol"] [SetSystem sysEvVolume=%vol] [SaveSystem] [EndMacro] // 音消し状態切替 [Macro name="ChgMuteSts"] [If exp="#System.muteSts==true"] [SetSystem muteSts=false] [Else] [SetSystem muteSts=true] [EndIf] [SaveSystem] [EndMacro] // 音量設定パネル表示 [Macro name="ShowVolPanel"] [LoadMovieLv level=1 path="./resorce/System/VolumePanel.swf"] [EndMacro] // 画面モード切り替えパネル表示 [Macro name="ShowChgScrnPanel"] [LoadMovieLv level=1 path="./resorce/System/ChgScreen.swf"] [EndMacro] // サンプルボタン用マクロ [Macro name="TestBtn"] [If exp="%type==1"] [HideMsg] [EndIf] // ボタンを有効状態に戻す [ChgButton id=%btnId|TEST_BTN enabled=true] [EndMacro]