'---------------------------------------------------------- '概 要:直接イベント処理 '---------------------------------------------------------- Option Explicit '******************************************************************************************************************** ' 宣言 '******************************************************************************************************************** '/// オブジェクト設定 /// Private mObjForm As Form '/// コントローラ /// Private mintMousSel1 As Integer 'マウス選択変数1 Private mintMousSel2 As Integer 'マウス選択変数2 Public glngKeyPoint As Long 'ゲームコントローラ、キーボードによるキー番号 '/// イベント(処理) /// Public glngCaseEvent As Long '現在のイベント(処理)番号 Public glngOldCaseEvent As Long '過去のイベント(処理)番号 (キャンセル時にこのイベントに戻る) '/// トーク情報 /// Private Const MSTR_TALK_FILE As String = "A_TALK_FILE" 'トーク情報ファイル名 Public glngTalkNext As Long '次のトークへ行く '/// ステータス情報 /// Public gintStsCase As Integer 'ステータスケース Private mintStsCharNo As Integer 'ステータスキャラ番号 Private mintStsChoice As Integer '装備選択番号 Private mblnStsSlgFlg As Boolean 'ステータスがマップから呼び出されたか判定するフラグ '/// 戦闘情報 /// Private gintEnemyNo As Integer '戦闘に入った敵の番号 '/// ミッション情報 /// Public GIntMissionNo As Integer '選択したミッション番号 Private mintMissionDrowNo(20) As Integer '表示しているミッション番号 '/// 総合呼び出し用 /// Enum ENUM_ACT PLAY_MID '[音楽再生] PLAY_SOU '[効果音再生] PLAY_MCI '[MP3再生] PLAY_PIC '[画像表示] PLAY_BAK '[背景表示] PLAY_CLS '[背景なし] PLAY_EFF '[エフェクト] PLAY_MXT '[マップ用テキスト] End Enum '******************************************************************************************************************** ' 初期化・終了処理 '******************************************************************************************************************** '---------------------------------------------------------- '機 能:イベント起動設定 '---------------------------------------------------------- Public Sub Init_Event() Set mObjForm = frmMain End Sub '******************************************************************************************************************** ' 呼び出し関数 '******************************************************************************************************************** '---------------------------------------------------------- '機 能:外部関数呼び出し(総合呼出) '---------------------------------------------------------- Public Sub Play_Event(ByVal In_ActCase As ENUM_ACT, Optional ByVal In_No As Integer, Optional ByVal In_Val As Variant = 7697664) '/// 外部処理 /// Select Case In_ActCase '[音楽再生] Case ENUM_ACT.PLAY_MID Call G_modManage.Play_Mid_MG(In_No) '[効果音再生] Case ENUM_ACT.PLAY_SOU Call G_modManage.Play_Wave_MG(In_No) '[MP3再生] Case ENUM_ACT.PLAY_MCI Call G_modManage.Play_Mci_MG(In_No) '[画像表示] Case ENUM_ACT.PLAY_PIC Call G_modManage.Play_BMP_MG(In_No, , , CLng(In_Val)) '[背景表示] Case ENUM_ACT.PLAY_BAK Call G_modManage.Play_BK_MG(In_No) '[背景なし] Case ENUM_ACT.PLAY_CLS mObjForm.Picture = LoadPicture() '[エフェクト] Case ENUM_ACT.PLAY_EFF Call G_modManage.Play_Eff_MG(In_No) '[マップ用テキスト] Case ENUM_ACT.PLAY_MXT Call Play_Event(PLAY_PIC, 202) Call G_modManage.Drow_Msg_MG(In_Val, 15, 403, 620, 480, 10, RGB(0, 89, 245), 0) mObjForm.Refresh End Select End Sub '---------------------------------------------------------- '機 能:イベント(処理)シーン分岐 '---------------------------------------------------------- Public Sub EvAct_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single = 0, Optional ByVal In_Y As Single = 0) Dim i As Integer Dim iRefNo As Integer 'イベント(処理)起動時、選択位置を初期化 If In_Act = 0 Or In_Act = -1 Then glngKeyPoint = 1 End If '/// 各シーン選択 /// Select Case glngCaseEvent '[起動初期画面] Case GENU_EV_CASE.OpKick_No Call Open_Event(In_Act, In_X, In_Y) '[オープニング] Case GENU_EV_CASE.Opning_No Call Opning_Event(In_Act, In_X, In_Y) '[ステージ選択] Case GENU_EV_CASE.MissionSel_No Call Mission_Drow_Event(In_Act, In_X, In_Y) '[ステージ説明] Case GENU_EV_CASE.MissionMsg_No Call Mission_Msg_Event(In_Act, In_X, In_Y) '[ガレージ] Case GENU_EV_CASE.Gareg_No Call Gareg_Event(In_Act, In_X, In_Y) '[LOAD] Case GENU_EV_CASE.SysLoad_No Call Load_Event(In_Act, In_X, In_Y) '[SAVE] Case GENU_EV_CASE.SysSave_No Call Save_Event(In_Act, In_X, In_Y) '[SLG] Case GENU_EV_CASE.Slg_No Call Slg_Event_Slg(In_Act, In_X, In_Y) '[ステータス] Case GENU_EV_CASE.Status_No Call Status_Event(In_Act, In_X, In_Y) '[MAP] Case GENU_EV_CASE.MapMain_No Call Map_Event_Map(In_Act, In_X, In_Y) '[戦闘処理呼出用] Case GENU_EV_CASE.BtKick_No If In_Act = 0 Then Call modBattle.Call_Battle glngCaseEvent = GENU_EV_CASE.BtSele_No Call EvAct_Event(0) End If '[戦闘コマンド選択] Case GENU_EV_CASE.BtSele_No Call Mouse_WeSelect_Battle(In_Act, In_X, In_Y) '[戦闘メイン処理] Case GENU_EV_CASE.BtMain_No 'Mouse_WeSelect_Battle 内で当変数で処理実行し、元の値に戻す '[エンディング処理(トルーエンド)] Case GENU_EV_CASE.EndTrue_No Call End_True_Event(In_Act, In_X, In_Y) '[エンディング処理(デッドーエンド)] Case GENU_EV_CASE.EndDead_No Call End_Dead_Event(In_Act, In_X, In_Y) '[ゲーム終了] Case GENU_EV_CASE.EndGame_No End Select End Sub '---------------------------------------------------------- '機 能:起動初期画面 '---------------------------------------------------------- Private Sub Open_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) Dim i As Integer '/// アクションパターン /// Select Case In_Act '何もなし Case -1, 0 '音楽設定 If In_Act = -1 Then Call Play_Event(PLAY_MID, Gti_Sys_Info.Music_Op) End If '背景設定 mObjForm.Cls Call Play_Event(PLAY_BAK, 0) '初期選択 mintMousSel1 = 1 mintMousSel2 = 1 Call Play_Event(PLAY_PIC, 1) mObjForm.Refresh 'クリック Case 1 Select Case mintMousSel1 '[スタート] Case 1 glngCaseEvent = GENU_EV_CASE.Opning_No Call Play_Event(PLAY_SOU, 7) Call Play_Event(PLAY_EFF, 7) 'スクロール Call Play_Event(PLAY_CLS, 0) Call EvAct_Event(0) '[ロード] Case 2 glngOldCaseEvent = GENU_EV_CASE.OpKick_No glngCaseEvent = GENU_EV_CASE.SysLoad_No Call Play_Event(PLAY_SOU, 7) Call Play_Event(PLAY_EFF, 17) 'フェード Call Play_Event(PLAY_CLS, 0) Call EvAct_Event(0) '[終了] Case 3 glngCaseEvent = GENU_EV_CASE.EndGame_No '終了 Call Play_Event(PLAY_SOU, 7) Case 0 If In_X >= 45 And In_Y >= 300 And In_X <= 190 And In_Y <= 380 Then Call Play_Event(PLAY_SOU, 9) Call Play_Event(PLAY_PIC, 8) mObjForm.Refresh Call COM_Wait_System(glngActTime * 10) Call Open_Event(0) mintMousSel1 = 0 End If End Select 'マウスムーブ Case 2 'カーソル移動 If In_X >= 375 And In_Y >= 260 And In_X <= 625 And In_Y <= 320 Then mintMousSel1 = 1 ElseIf In_X >= 310 And In_Y >= 324 And In_X <= 560 And In_Y <= 384 Then mintMousSel1 = 2 ElseIf In_X >= 243 And In_Y >= 389 And In_X <= 493 And In_Y <= 449 Then mintMousSel1 = 3 Else mintMousSel1 = 0 End If 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 mObjForm.Cls If mintMousSel1 <> 0 Then Call Play_Event(PLAY_SOU, 6) '<< >>を表示 Select Case mintMousSel1 Case 1: For i = 8 To 1 Step -1 mObjForm.Line (375, 260)-(630, 320), vbWhite, BF Call G_modManage.Play_BMP_MG(1, 375 + i * 2, 260, vbWhite) mObjForm.Refresh Call COM_Wait_System(glngActTime) Next mObjForm.Cls Call G_modManage.Play_BMP_MG(1, 375, 260, vbWhite) Case 2: For i = 8 To 1 Step -1 mObjForm.Line (310, 324)-(600, 384), vbWhite, BF Call G_modManage.Play_BMP_MG(2, 310 + i * 3, 324, vbWhite) mObjForm.Refresh Call COM_Wait_System(glngActTime) Next mObjForm.Cls Call G_modManage.Play_BMP_MG(2, 310, 324, vbWhite) Case 3: For i = 8 To 1 Step -1 mObjForm.Line (243, 389)-(560, 449), vbWhite, BF Call G_modManage.Play_BMP_MG(3, 243 + i * 4, 389, vbWhite) mObjForm.Refresh Call COM_Wait_System(glngActTime) Next mObjForm.Cls Call G_modManage.Play_BMP_MG(3, 243, 389, vbWhite) Case 0: End Select mObjForm.Refresh End If End Select End Sub '---------------------------------------------------------- '機 能:オープニング '---------------------------------------------------------- Public Sub Opning_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) '/// アクションパターン /// Select Case In_Act '何もなし Case 0 '★★★★★★★★★★★★★★★★ ' 'トーク ' Call Talk_Event("KICK_MSG") ' '本格フェード ' Call Play_Event(PLAY_EFF, 17) glngCaseEvent = GENU_EV_CASE.MissionSel_No Call EvAct_Event(-1) End Select End Sub '---------------------------------------------------------- '機 能:LOAD設定 '---------------------------------------------------------- Private Sub Load_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) Dim i As Integer '/// アクションパターン /// Select Case In_Act '何もなし Case 0 'ロード画面を表示 mObjForm.Cls Call COM_Wait_System(glngActTime * 2) Call Play_Event(PLAY_PIC, 1000) Call COM_Wait_System(glngActTime * 5) For i = 1 To 8 mObjForm.Line (460 - i * 2, 440)-(670, 480), vbWhite, BF Call G_modManage.Play_BMP_MG(1002, 460 - i * 2, 440) mObjForm.Refresh Call COM_Wait_System(glngActTime) Next 'ロードデータを表示 Call G_modManage.Drow_Msg_MG("● ロードするデータを選択してください ●", 150, 10, 600, 600, 10) Call G_modManage.Drow_Msg_MG("@ " & IIf(Trim(G_modManage.Show_SaveData_MG(1)) = "", "データがありません", G_modManage.Show_SaveData_MG(1)), 95, 80, 600, 600, 12) Call G_modManage.Drow_Msg_MG("A " & IIf(Trim(G_modManage.Show_SaveData_MG(2)) = "", "データがありません", G_modManage.Show_SaveData_MG(2)), 95, 130, 600, 600, 12) Call G_modManage.Drow_Msg_MG("B " & IIf(Trim(G_modManage.Show_SaveData_MG(3)) = "", "データがありません", G_modManage.Show_SaveData_MG(3)), 95, 180, 600, 600, 12) Call G_modManage.Drow_Msg_MG("C " & IIf(Trim(G_modManage.Show_SaveData_MG(4)) = "", "データがありません", G_modManage.Show_SaveData_MG(4)), 95, 230, 600, 600, 12) Call G_modManage.Drow_Msg_MG("D " & IIf(Trim(G_modManage.Show_SaveData_MG(5)) = "", "データがありません", G_modManage.Show_SaveData_MG(5)), 95, 280, 600, 600, 12) Call G_modManage.Drow_Msg_MG("E " & IIf(Trim(G_modManage.Show_SaveData_MG(6)) = "", "データがありません", G_modManage.Show_SaveData_MG(6)), 95, 330, 600, 600, 12) Call G_modManage.Drow_Msg_MG("F " & IIf(Trim(G_modManage.Show_SaveData_MG(7)) = "", "データがありません", G_modManage.Show_SaveData_MG(6)), 95, 380, 600, 600, 12) '画像保持 Call G_modManage.F_To_P_MG(True) '初期選択 mintMousSel1 = 1 mintMousSel2 = 1 mObjForm.Line (81, 71)-(541, 106), RGB(90, 90, 90), B mObjForm.Line (80, 70)-(540, 105), vbBlack, B mObjForm.Refresh 'クリック Case 1 If mintMousSel1 > 0 Then If G_modManage.Play_Load_MG(mintMousSel1) = True Then mObjForm.Cls Call Play_Event(PLAY_PIC, 1000) Call Play_Event(PLAY_SOU, 7) Call COM_Wait_System(glngActTime * 5) Call G_modManage.Drow_Msg_MG("データ[ " & mintMousSel1 & " ]をロードしました", 180, 230, 600, 600) Call COM_Wait_System(glngActTime * 10) Call Play_Event(PLAY_EFF, 17) glngCaseEvent = GENU_EV_CASE.MissionSel_No Call EvAct_Event(-1) Else mObjForm.Cls Call Play_Event(PLAY_PIC, 1000) Call COM_Wait_System(glngActTime * 5) Call G_modManage.Drow_Msg_MG("データ[ " & mintMousSel1 & " ]のロードに失敗しました", 140, 230, 600, 600) Call COM_Wait_System(glngActTime * 10) Call EvAct_Event(0) End If End If 'マウスムーブ Case 2 '囲線□にカーソル移動 mintMousSel1 = 0 For i = 1 To 7 If In_X >= 90 And In_Y >= 75 + (i - 1) * 50 And In_X <= 540 And In_Y <= 105 + (i - 1) * 50 Then mintMousSel1 = i Exit For End If Next 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 Call G_modManage.F_To_P_MG(False) If mintMousSel1 <> 0 Then Call Play_Event(PLAY_SOU, 6) '囲線□を表示 Select Case mintMousSel1 Case 1 To 7 mObjForm.Line (81, 71 + (mintMousSel1 - 1) * 50)-(541, 106 + (mintMousSel1 - 1) * 50), RGB(90, 90, 90), B mObjForm.Line (80, 70 + (mintMousSel1 - 1) * 50)-(540, 105 + (mintMousSel1 - 1) * 50), vbBlack, B Case 0: End Select mObjForm.Refresh End If '右クリック Case 3 '元の画面へ戻る glngCaseEvent = glngOldCaseEvent Call Play_Event(PLAY_SOU, 3) Call Play_Event(PLAY_EFF, 17) Call EvAct_Event(0) End Select End Sub '---------------------------------------------------------- '機 能:SAVE設定 '---------------------------------------------------------- Private Sub Save_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) Dim i As Integer '/// アクションパターン /// Select Case In_Act '何もなし Case 0 'セーブ画面を表示 mObjForm.Cls Call Play_Event(PLAY_CLS) Call COM_Wait_System(glngActTime * 2) Call Play_Event(PLAY_PIC, 1000) Call COM_Wait_System(glngActTime * 5) For i = 1 To 8 mObjForm.Line (460 - i * 2, 440)-(670, 480), vbWhite, BF Call G_modManage.Play_BMP_MG(1001, 460 - i * 2, 440) mObjForm.Refresh Call COM_Wait_System(glngActTime) Next 'セーブデータを表示 Call G_modManage.Drow_Msg_MG("● セーブするデータを選択してください ●", 150, 10, 600, 600, 10) Call G_modManage.Drow_Msg_MG("@ " & IIf(Trim(G_modManage.Show_SaveData_MG(1)) = "", "データがありません", G_modManage.Show_SaveData_MG(1)), 95, 80, 600, 600, 12) Call G_modManage.Drow_Msg_MG("A " & IIf(Trim(G_modManage.Show_SaveData_MG(2)) = "", "データがありません", G_modManage.Show_SaveData_MG(2)), 95, 130, 600, 600, 12) Call G_modManage.Drow_Msg_MG("B " & IIf(Trim(G_modManage.Show_SaveData_MG(3)) = "", "データがありません", G_modManage.Show_SaveData_MG(3)), 95, 180, 600, 600, 12) Call G_modManage.Drow_Msg_MG("C " & IIf(Trim(G_modManage.Show_SaveData_MG(4)) = "", "データがありません", G_modManage.Show_SaveData_MG(4)), 95, 230, 600, 600, 12) Call G_modManage.Drow_Msg_MG("D " & IIf(Trim(G_modManage.Show_SaveData_MG(5)) = "", "データがありません", G_modManage.Show_SaveData_MG(5)), 95, 280, 600, 600, 12) Call G_modManage.Drow_Msg_MG("E " & IIf(Trim(G_modManage.Show_SaveData_MG(6)) = "", "データがありません", G_modManage.Show_SaveData_MG(6)), 95, 330, 600, 600, 12) Call G_modManage.Drow_Msg_MG("F " & IIf(Trim(G_modManage.Show_SaveData_MG(7)) = "", "データがありません", G_modManage.Show_SaveData_MG(7)), 95, 380, 600, 600, 12) '画像保持 Call G_modManage.F_To_P_MG(True) '初期選択 mintMousSel1 = 1 mintMousSel2 = 1 mObjForm.Line (81, 71)-(541, 106), RGB(90, 90, 90), B mObjForm.Line (80, 70)-(540, 105), vbBlack, B mObjForm.Refresh 'クリック Case 1 If mintMousSel1 > 0 Then If G_modManage.Play_Save_MG(mintMousSel1) = True Then mObjForm.Cls Call Play_Event(PLAY_PIC, 1000) Call Play_Event(PLAY_SOU, 7) Call COM_Wait_System(glngActTime * 5) Call G_modManage.Drow_Msg_MG("データ[ " & mintMousSel1 & " ]にセーブしました", 180, 230, 600, 600) Call COM_Wait_System(glngActTime * 10) Else mObjForm.Cls Call Play_Event(PLAY_PIC, 1000) Call COM_Wait_System(glngActTime * 5) Call G_modManage.Drow_Msg_MG("データ[ " & mintMousSel1 & " ]のセーブに失敗しました", 150, 230, 600, 600) Call COM_Wait_System(glngActTime * 10) End If Call EvAct_Event(0) End If 'マウスムーブ Case 2 '囲線□にカーソル移動 mintMousSel1 = 0 For i = 1 To 7 If In_X >= 90 And In_Y >= 75 + (i - 1) * 50 And In_X <= 540 And In_Y <= 105 + (i - 1) * 50 Then mintMousSel1 = i Exit For End If Next 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 Call G_modManage.F_To_P_MG(False) If mintMousSel1 <> 0 Then Call Play_Event(PLAY_SOU, 6) '囲線□を表示 Select Case mintMousSel1 Case 1 To 7 mObjForm.Line (81, 71 + (mintMousSel1 - 1) * 50)-(541, 106 + (mintMousSel1 - 1) * 50), RGB(90, 90, 90), B mObjForm.Line (80, 70 + (mintMousSel1 - 1) * 50)-(540, 105 + (mintMousSel1 - 1) * 50), vbBlack, B Case 0: End Select mObjForm.Refresh End If '右クリック Case 3 '元の画面へ戻る glngCaseEvent = glngOldCaseEvent Call Play_Event(PLAY_SOU, 3) Call Play_Event(PLAY_EFF, 17) Call EvAct_Event(0) End Select End Sub '---------------------------------------------------------- '機 能:ステージ選択画面 '---------------------------------------------------------- Public Sub Mission_Drow_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) Dim i As Integer Dim ii As Integer '/// アクションパターン /// Select Case In_Act '何もなし Case -1, 0 If In_Act = -1 Then Call Play_Event(PLAY_MID, 50) End If 'ステージ画面表示 mObjForm.Cls Call Play_Event(PLAY_BAK, 10) Call COM_Wait_System(glngActTime * 5) '日付とポイントとページ表示 Call G_modManage.Drow_Msg_MG(StrConv(GT_All.tEvent.ToDay, vbWide) & "日目", 85, 21, 180, 35, 9, , 2) Call G_modManage.Drow_Msg_MG(GT_All.tEvent.HavePoint, 85, 50, 180, 62, 9, , 2) Call G_modManage.Drow_Msg_MG("1", 560, 445, 585, 455, 9, , 1) Call G_modManage.Drow_Msg_MG("1", 590, 445, 615, 455, 9, , 1) 'ミッション表示読み込み★★★★★★★★ For i = 1 To 20 mintMissionDrowNo(i) = 0 Next ii = 0 For i = 1 To UBound(Gti_Mission_Info) If Gti_Mission_Info(i).DayST <= GT_All.tEvent.ToDay And Gti_Mission_Info(i).DayED >= GT_All.tEvent.ToDay Then ii = ii + 1 mintMissionDrowNo(ii) = i Gti_Mission_Info(ii).State = GT_All.tEvent.MissionSt(ii) If Gti_Mission_Info(ii).RankP > GT_All.tEvent.HavePoint Then Gti_Mission_Info(ii).State = 2 End If Next 'ミッション全文字表示 For i = 1 To 20 If mintMissionDrowNo(i) <> 0 Then If Gti_Mission_Info(mintMissionDrowNo(i)).State = 1 Then Call G_modManage.Play_BMP_MG(16, 384, 32 + 20 * (i - 1)) Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(mintMissionDrowNo(i)).Name, 410, 35 + 20 * (i - 1), 550, 52 + 20 * (i - 1), 9) Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(mintMissionDrowNo(i)).RankP, 561, 35 + 20 * (i - 1), 611, 52 + 20 * (i - 1), 9, , 1) End If Next mObjForm.Refresh '画像保持 Call G_modManage.F_To_P_MG(True) 'シナリオ選択してくださいメッセージグラフィック If In_Act = -1 Then Call COM_Wait_System(glngActTime * 10) Call Play_Event(PLAY_PIC, 6) Call G_modManage.Drow_Msg_MG(StrConv(GT_All.tEvent.ToDay, vbWide) & "日目", 1, 243, 640, 268, 20, vbBlack, 2) Call G_modManage.Drow_Msg_MG(StrConv(GT_All.tEvent.ToDay, vbWide) & "日目", 0, 242, 639, 267, 20, vbWhite, 2) Call COM_Wait_System(glngActTime * 100) Call Play_Event(PLAY_PIC, 6) Call G_modManage.Drow_Msg_MG("ミッションを選択してください", 1, 243, 640, 268, 20, vbBlack, 2) Call G_modManage.Drow_Msg_MG("ミッションを選択してください", 0, 242, 639, 267, 20, vbWhite, 2) mObjForm.Refresh Call COM_Wait_System(glngActTime * 200) Call G_modManage.F_To_P_MG(False) End If '初期選択 mintMousSel1 = 1 mintMousSel2 = 1 Call G_modManage.Play_BMP_MG(15, 381, 33) Call G_modManage.Play_BMP_MG(14, Gti_Mission_Info(mintMissionDrowNo(1)).X, Gti_Mission_Info(mintMissionDrowNo(1)).Y) Call G_modManage.Drow_Msg_MG("■ " & Gti_Mission_Info(mintMissionDrowNo(1)).PrefN, 250, 440, 400, 470, 11) If Gti_Mission_Info(mintMissionDrowNo(1)).State = 1 Then Call G_modManage.Play_BMP_MG(16, 384, 32) Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(mintMissionDrowNo(1)).Name, 410, 35, 550, 52, 9) Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(mintMissionDrowNo(1)).RankP, 561, 35, 611, 52, 9, , 1) mObjForm.Refresh 'クリック Case 1 Select Case mintMousSel1 Case 1 To 20 If mintMissionDrowNo(mintMousSel1) <> 0 Then Select Case Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).State Case 0, 1 Call Play_Event(PLAY_SOU, 2) GIntMissionNo = mintMissionDrowNo(mintMousSel1) 'ミッション選択番号 glngCaseEvent = GENU_EV_CASE.MissionMsg_No Call EvAct_Event(0) Case 2 Call Play_Event(PLAY_SOU, 5) End Select End If Case 21 Call Play_Event(PLAY_SOU, 7) glngCaseEvent = GENU_EV_CASE.SysSave_No glngOldCaseEvent = GENU_EV_CASE.MissionSel_No Call EvAct_Event(0) Case 22 Call Play_Event(PLAY_SOU, 2) Call Play_Event(PLAY_EFF, 5) glngCaseEvent = GENU_EV_CASE.Gareg_No Call EvAct_Event(0) Case 23 Call Play_Event(PLAY_SOU, 2) Call Play_Event(PLAY_EFF, 5) glngCaseEvent = GENU_EV_CASE.Gareg_No Call EvAct_Event(0) End Select 'マウスムーブ Case 2 '囲線□にカーソル移動 For i = 1 To 21 If i <= 20 Then If In_X >= 381 And In_Y >= 33 + (i - 1) * 20 And In_X <= 616 And In_Y <= 49 + (i - 1) * 20 Then mintMousSel1 = i Exit For End If End If If i = 21 Then If In_X >= 383 And In_Y >= 440 And In_X <= 441 And In_Y <= 461 Then mintMousSel1 = 21 ElseIf In_X >= 459 And In_Y >= 436 And In_X <= 486 And In_Y <= 463 Then mintMousSel1 = 22 ElseIf In_X >= 491 And In_Y >= 436 And In_X <= 518 And In_Y <= 463 Then mintMousSel1 = 23 Else mintMousSel1 = 0 End If End If Next 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 Call G_modManage.F_To_P_MG(False) '効果音 If mintMousSel1 <> 0 Then Call Play_Event(PLAY_SOU, 6) '囲線□を表示 Select Case mintMousSel1 Case 1 To 20 Call G_modManage.Play_BMP_MG(15, 381, 33 + (mintMousSel1 - 1) * 20) 'ミッションが表示されているとき If mintMissionDrowNo(mintMousSel1) <> 0 Then Call G_modManage.Play_BMP_MG(14, Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).X, Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).Y) Call G_modManage.Drow_Msg_MG("■ " & Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).PrefN, 250, 440, 400, 470, 11) If Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).State = 1 Then Call G_modManage.Play_BMP_MG(16, 384, 32 + 20 * (mintMousSel1 - 1)) Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).Name, 410, 35 + 20 * (mintMousSel1 - 1), 550, 52 + 20 * (mintMousSel1 - 1), 9) Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).RankP, 561, 35 + 20 * (mintMousSel1 - 1), 611, 52 + 20 * (mintMousSel1 - 1), 9, , 1) 'ミッションがランクオーバーのとき If Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).State = 2 Then Call Play_Event(PLAY_PIC, 7) Call G_modManage.Drow_Msg_MG("対象ミッションを実施するにはランクポイントが不足しています", 70, 464, 600, 480, 9) End If Call G_modManage.Play_BMP_MG(14, Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).X, Gti_Mission_Info(mintMissionDrowNo(mintMousSel1)).Y) End If Case 21: Call Play_Event(PLAY_PIC, 13) Case 22: Call Play_Event(PLAY_PIC, 11) Case 23: Call Play_Event(PLAY_PIC, 12) End Select mObjForm.Refresh End If '右クリック Case 3 End Select End Sub '---------------------------------------------------------- '機 能:ステージ選択画面 '---------------------------------------------------------- Public Sub Mission_Msg_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) Dim i As Integer '/// アクションパターン /// Select Case In_Act '何もなし Case 0 'ステージ画面表示 Call Play_Event(PLAY_PIC, 17) '★★★★★★★★★★★★★★★ Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(GIntMissionNo).Name & _ "\n\n・依頼期間 :" & StrConv(CStr(Gti_Mission_Info(GIntMissionNo).DayST), vbWide) & "〜" & StrConv(CStr(Gti_Mission_Info(GIntMissionNo).DayED), vbWide) & "日まで" & _ "\n・出撃予算 :" & StrConv(Gti_Mission_Info(GIntMissionNo).Pom, vbWide) & _ "\n・特別報酬 :" & Gti_Mission_Info(GIntMissionNo).GetSN & _ "\n ※" & StrConv(CStr(Gti_Mission_Info(GIntMissionNo).GetSD), vbWide) & "日目までに達成時", 273, 115, 545, 210, 9) Call G_modManage.Drow_Msg_MG(Gti_Mission_Info(GIntMissionNo).MMsg, 118, 230, 540, 340, 9) mObjForm.Refresh '画像保持 Call G_modManage.F_To_P_MG(True) mObjForm.Refresh '初期選択 mintMousSel1 = 1 mintMousSel2 = 1 Call Play_Event(PLAY_PIC, 18) mObjForm.Refresh 'クリック Case 1 If mintMousSel1 > 0 Then Select Case mintMousSel1 '[戦闘準備画面へ] Case 1 Call Play_Event(PLAY_SOU, 8) GT_All.tEvent.MapName = Gti_Mission_Info(GIntMissionNo).MapName 'マップ名設定 mblnStsSlgFlg = True 'SLGフラグ(ステータスに影響) glngOldCaseEvent = GENU_EV_CASE.MapMain_No glngCaseEvent = GENU_EV_CASE.Status_No Call EvAct_Event(-1) '[キャンセル] Case 2 Call Play_Event(PLAY_SOU, 3) glngCaseEvent = GENU_EV_CASE.MissionSel_No Call EvAct_Event(0) End Select End If 'マウスムーブ Case 2 '囲線□にカーソル移動 If In_X >= 420 And In_Y >= 355 And In_X <= 479 And In_Y <= 377 Then mintMousSel1 = 1 ElseIf In_X >= 489 And In_Y >= 355 And In_X <= 558 And In_Y <= 377 Then mintMousSel1 = 2 Else mintMousSel1 = 0 End If 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 Call G_modManage.F_To_P_MG(False) If mintMousSel1 <> 0 Then Call Play_Event(PLAY_SOU, 6) '囲線□を表示 Select Case mintMousSel1 Case 1: Call Play_Event(PLAY_PIC, 18) Case 2: Call Play_Event(PLAY_PIC, 19) End Select mObjForm.Refresh End If '右クリック Case 3 End Select End Sub '---------------------------------------------------------- '機 能:ガレージ画面 '---------------------------------------------------------- Public Sub Gareg_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) Dim i As Integer '/// アクションパターン /// Select Case In_Act '何もなし Case 0 'ガレージ画面表示 Call Play_Event(PLAY_BAK, 300) '文字を表示 Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.BP, 49, 20, 95, 13, 8, , 2) For i = 1 To 75 If GT_All.tEvent.DEV_VAL(i) = 0 Then Call G_modManage.Drow_MsgW_MG(Gti_DEV_Info(i).Name, 27 + Int((i - 1) / 15) * 120, 68 + ((i - 1) Mod 15) * 20, 110, 13, 8, RGB(100, 100, 100)) ElseIf GT_All.tEvent.DEV_VAL(i) = 1 Then Call G_modManage.Drow_MsgW_MG(Gti_DEV_Info(i).Name, 27 + Int((i - 1) / 15) * 120, 68 + ((i - 1) Mod 15) * 20, 110, 13, 8) End If Next Call Play_Event(PLAY_PIC, 202) mObjForm.Refresh '画像保持 Call G_modManage.F_To_P_MG(True) mObjForm.Refresh '初期選択 mintMousSel1 = 1 mintMousSel2 = 1 glngKeyPoint = 1 Call G_modManage.ColorTarn_MG(24 + Int((mintMousSel1 - 1) / 15) * 120, 65 + ((mintMousSel1 - 1) Mod 15) * 20, 110, 13) Call Play_Event(PLAY_MXT, , Gti_DEV_Info(mintMousSel1).MMsg) If GT_All.tEvent.DEV_VAL(mintMousSel1) = 1 Then Call G_modManage.Drow_MsgW_MG("開発済み", 226, 20, 95, 13, 8, , 2) Else Call G_modManage.Drow_MsgW_MG(Gti_DEV_Info(mintMousSel1).State, 226, 20, 95, 13, 8, , 2) End If mObjForm.Refresh 'クリック Case 1 If mintMousSel1 > 0 Then If GT_All.tEvent.DEV_VAL(mintMousSel1) = 0 Then If GT_All.tEvent.BP >= Gti_DEV_Info(mintMousSel1).State Then Call Play_Event(PLAY_SOU, 7) GT_All.tEvent.DEV_VAL(mintMousSel1) = 1 GT_All.tEvent.BP = GT_All.tEvent.BP - Gti_DEV_Info(mintMousSel1).State Call TalkPicMsg_Event(210, "【ミーナ】\n" & Gti_DEV_Info(mintMousSel1).Name & "の開発が完了したよ") Call Gareg_Event(0) Else 'BP足らず Call Play_Event(PLAY_SOU, 5) Call TalkPicMsg_Event(210, "【ミーナ】\n" & Gti_DEV_Info(mintMousSel1).Name & "の開発に必要なBPが不足してるよ") Call Gareg_Event(0) End If End If End If 'マウスムーブ Case 2 mintMousSel1 = 0 '囲線□にカーソル移動 For i = 1 To 75 If In_X >= 24 + Int((i - 1) / 15) * 120 And In_Y >= 65 + ((i - 1) Mod 15) * 20 And In_X <= 135 + Int((i - 1) / 15) * 120 And In_Y <= 80 + ((i - 1) Mod 15) * 20 Then mintMousSel1 = i End If Next 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 Call G_modManage.F_To_P_MG(False) If mintMousSel1 <> 0 Then '効果音 Call Play_Event(PLAY_SOU, 6) Call G_modManage.ColorTarn_MG(24 + Int((mintMousSel1 - 1) / 15) * 120, 65 + ((mintMousSel1 - 1) Mod 15) * 20, 110, 13) Call Play_Event(PLAY_MXT, , Gti_DEV_Info(mintMousSel1).MMsg) If GT_All.tEvent.DEV_VAL(mintMousSel1) = 1 Then Call G_modManage.Drow_MsgW_MG("開発済み", 226, 20, 95, 13, 8, , 2) Else Call G_modManage.Drow_MsgW_MG(Gti_DEV_Info(mintMousSel1).State, 226, 20, 95, 13, 8, , 2) End If mObjForm.Refresh End If End If '右クリック Case 3 Call Play_Event(PLAY_EFF, 5) glngCaseEvent = GENU_EV_CASE.MissionSel_No Call EvAct_Event(0) End Select End Sub '---------------------------------------------------------- '機 能:装備画面 '---------------------------------------------------------- Private Sub Status_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) Dim i As Integer Dim t As Integer Dim r As Integer Dim X As Integer Select Case gintStsCase '/// ステータス初期番号 /// Case 0 '/// アクションパターン /// Select Case In_Act '何もなし Case -1, 0 'Act trueはSLGより If In_Act = -1 Then Call Play_Event(PLAY_MID, 30) mintStsCharNo = 0 'キャラ番号 '壁紙 r = Int((2 - 0 + 1) * Rnd + 0) For i = 0 To 7 Call Play_Event(PLAY_PIC, 500 + i + r * 10) mObjForm.Refresh Call COM_Wait_System(glngActTime) Next '戦闘準備メッセージグラフィック Call Play_Event(PLAY_PIC, 6) Call G_modManage.Drow_Msg_MG("装備設定を行います", 1, 243, 640, 268, 20, vbBlack, 2) Call G_modManage.Drow_Msg_MG("装備設定を行います", 0, 242, 639, 267, 20, vbWhite, 2) mObjForm.Refresh Call COM_Wait_System(glngActTime * 200) End If Call Play_Event(PLAY_CLS) mObjForm.Cls Call Play_Event(PLAY_PIC, 403 + mintStsCharNo) Call Play_Event(PLAY_PIC, 401) Call Play_Event(PLAY_PIC, 700) Call Status_Drow_Event(mintStsCharNo) Call G_modManage.F_To_P_MG(True) mObjForm.Refresh If In_Act = -1 Then Call TalkPicMsg_Event(210, LoadResString(300)) End If '初期選択 mintMousSel1 = 1 mintMousSel2 = 1 Call G_modManage.ColorTarn_MG(209, 197, 118, 13) If GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1) <> 0 Then Call Play_Event(ENUM_ACT.PLAY_MXT, , _ "【" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Name & "】" & _ " [POM]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Pom & _ " [斬]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).AT(1) & _ " [貫]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).AT(2) & _ " [砕]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).AT(3) & "\n" & _ IIf(GT_All.tChar(mintStsCharNo).SkilSt(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)) = 1, " [剣技]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Skil_NM(0) & "\n", "") & _ Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Prof) 'クリック Case 1 If mintMousSel1 > 0 And mintMousSel1 <> 17 Then Call Play_Event(PLAY_SOU, 2) mintStsChoice = mintMousSel1 gintStsCase = 1 Call EvAct_Event(0) ElseIf mintMousSel1 = 0 Then Call Play_Event(PLAY_SOU, 2) Call Play_Event(PLAY_EFF, 5) mintStsCharNo = (mintStsCharNo + 1) Mod 2 Call EvAct_Event(0) End If 'マウスムーブ Case 2 mintMousSel1 = 0 'BOX選択 For i = 1 To 8 If In_X >= 209 And In_Y >= 197 + (i - 1) * 20 And In_X < 327 And In_Y < 210 + (i - 1) * 20 Then mintMousSel1 = i End If Next 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 Call G_modManage.F_To_P_MG(False) If mintMousSel1 <> 0 Then Call Play_Event(PLAY_SOU, 6) Call G_modManage.ColorTarn_MG(209, 197 + (mintMousSel1 - 1) * 20, 118, 13) Call Play_Event(ENUM_ACT.PLAY_PIC, 202) End If '囲線□を表示 Select Case mintMousSel1 Case 1, 2, 3 If GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1) <> 0 Then Call Play_Event(ENUM_ACT.PLAY_MXT, , _ "【" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Name & "】" & _ " [POM]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Pom & _ " [斬]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).AT(1) & _ " [貫]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).AT(2) & _ " [砕]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).AT(3) & "\n" & _ IIf(GT_All.tChar(mintStsCharNo).SkilSt(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)) = 1, " [剣技]" & Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Skil_NM(0) & "\n", "") & _ Gti_WE_Info(GT_All.tChar(mintStsCharNo).WE_NO(mintMousSel1)).Prof) Case 4 If GT_All.tChar(mintStsCharNo).HK_NO <> 0 Then Call Play_Event(ENUM_ACT.PLAY_MXT, , _ "【" & Gti_HK_Info(GT_All.tChar(mintStsCharNo).HK_NO).Name & "】" & _ " [POM]" & Gti_HK_Info(GT_All.tChar(mintStsCharNo).HK_NO).Pom & _ " [斬]" & Gti_HK_Info(GT_All.tChar(mintStsCharNo).HK_NO).DF(1) & _ " [貫]" & Gti_HK_Info(GT_All.tChar(mintStsCharNo).HK_NO).DF(2) & _ " [砕]" & Gti_HK_Info(GT_All.tChar(mintStsCharNo).HK_NO).DF(3) & "\n" & _ Gti_HK_Info(GT_All.tChar(mintStsCharNo).HK_NO).Prof) Case 5, 6 If GT_All.tChar(mintStsCharNo).AC_NO(mintMousSel1 - 4) <> 0 Then Call Play_Event(ENUM_ACT.PLAY_MXT, , _ "【" & Gti_AC_Info(GT_All.tChar(mintStsCharNo).AC_NO(mintMousSel1 - 4)).Name & "】" & _ " [POM]" & Gti_AC_Info(GT_All.tChar(mintStsCharNo).AC_NO(mintMousSel1 - 4)).Pom & "\n" & _ Gti_AC_Info(GT_All.tChar(mintStsCharNo).AC_NO(mintMousSel1 - 4)).Prof) Case 7, 8 If GT_All.tChar(mintStsCharNo).MG_NO(mintMousSel1 - 6) <> 0 Then Call Play_Event(ENUM_ACT.PLAY_MXT, , _ "【" & Gti_MG_Info(GT_All.tChar(mintStsCharNo).MG_NO(mintMousSel1 - 6)).Name & "】" & _ " [POM]" & Gti_MG_Info(GT_All.tChar(mintStsCharNo).MG_NO(mintMousSel1 - 6)).Pom & "\n" & _ Gti_MG_Info(GT_All.tChar(mintStsCharNo).MG_NO(mintMousSel1 - 6)).Prof) End Select mObjForm.Refresh End If '右クリック Case 3 Call Play_Event(PLAY_EFF, 5) glngCaseEvent = glngOldCaseEvent If mblnStsSlgFlg = True Then mblnStsSlgFlg = False Call EvAct_Event(-1) Else Call EvAct_Event(0) End If End Select '/// 購入ケース /// Case 1 '/// アクションパターン /// Select Case In_Act '何もなし Case 0 mObjForm.Refresh Call TalkPicMsg_Event(211 + mintStsCharNo, LoadResString(300 + mintStsChoice + mintStsCharNo * 8)) Call Play_Event(PLAY_PIC, 402) Call Play_Event(PLAY_PIC, 202) '店情報を表示 For i = 1 To 20 X = 361 + Int(i / 11) * 113 Select Case mintStsChoice Case 1, 2, 3 t = (mintStsChoice - 1) * 20 If GT_All.tEvent.WE_ENB(t + i) <> 0 Then Call G_modManage.Drow_MsgW_MG(Gti_WE_Info(t + i).Name, X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8) Else Call G_modManage.Drow_MsgW_MG("????", X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8, RGB(100, 100, 100)) End If Case 4 If GT_All.tEvent.HK_ENB(i) <> 0 Then Call G_modManage.Drow_MsgW_MG(Gti_HK_Info(i).Name, X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8) Else Call G_modManage.Drow_MsgW_MG("????", X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8, RGB(100, 100, 100)) End If Case 5, 6 t = (mintStsChoice - 5) * 20 If GT_All.tEvent.AC_ENB(t + i) <> 0 Then Call G_modManage.Drow_MsgW_MG(Gti_AC_Info(t + i).Name, X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8) Else Call G_modManage.Drow_MsgW_MG("????", X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8, RGB(100, 100, 100)) End If Case 7, 8 t = (mintStsChoice - 7) * 20 If GT_All.tEvent.MG_ENB(t + i) <> 0 Then Call G_modManage.Drow_MsgW_MG(Gti_MG_Info(t + i).Name, X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8) Else Call G_modManage.Drow_MsgW_MG("????", X, 159 + ((i - 1) Mod 10) * 20, 105, 13, 8, RGB(100, 100, 100)) End If End Select Next Call G_modManage.F_To_P_MG(True) mObjForm.Refresh '初期選択 mintMousSel1 = 1 mintMousSel2 = 0 Call Status_Event(2, 364, 164) '左クリック Case 1 Select Case mintStsChoice '武器 Case 1, 2, 3 t = (mintStsChoice - 1) * 20 If GT_All.tEvent.WE_ENB(t + mintMousSel1) <> 0 Then If Gti_WE_Info(t + mintMousSel1).Pom <= GT_All.tEvent.Pom Then '装備購入 Call Play_Event(PLAY_SOU, 40) GT_All.tEvent.Pom = GT_All.tEvent.Pom - Gti_WE_Info(t + mintMousSel1).Pom GT_All.tChar(mintStsCharNo).WE_NO(mintStsChoice) = t + mintMousSel1 GT_All.tChar(mintStsCharNo).WE_TAMA(mintStsChoice) = Gti_WE_Info(t + mintMousSel1).Tama Select Case mintStsCharNo Case 0: Call TalkPicMsg_Event(211, "【ミカン】\n" & Gti_WE_Info(t + mintMousSel1).Name & "を購入・装備したよ") Case 1: Call TalkPicMsg_Event(212, "【奈津姫】\n" & Gti_WE_Info(t + mintMousSel1).Name & "を購入・装備したよ") End Select Else '金足らず Call Play_Event(PLAY_SOU, 5) Call TalkPicMsg_Event(210, LoadResString(321)) End If gintStsCase = 0 Call EvAct_Event(0) End If '服 Case 4 If GT_All.tEvent.HK_ENB(mintMousSel1) <> 0 Then If Gti_HK_Info(mintMousSel1).Pom <= GT_All.tEvent.Pom Then '装備購入 Call Play_Event(PLAY_SOU, 40) GT_All.tEvent.Pom = GT_All.tEvent.Pom - Gti_HK_Info(mintMousSel1).Pom GT_All.tChar(mintStsCharNo).HK_NO = mintMousSel1 GT_All.tChar(mintStsCharNo).HK_TAMA = Gti_HK_Info(mintMousSel1).Tama Select Case mintStsCharNo Case 0: Call TalkPicMsg_Event(211, "【ミカン】\n" & Gti_HK_Info(mintMousSel1).Name & "を購入・装備したよ") Case 1: Call TalkPicMsg_Event(212, "【奈津姫】\n" & Gti_HK_Info(mintMousSel1).Name & "を購入・装備したよ") End Select Else '金足らず Call Play_Event(PLAY_SOU, 5) Call TalkPicMsg_Event(210, LoadResString(321)) End If gintStsCase = 0 Call EvAct_Event(0) End If 'AC Case 5, 6 t = (mintStsChoice - 5) * 20 If GT_All.tEvent.AC_ENB(t + mintMousSel1) <> 0 Then If Gti_AC_Info(t + mintMousSel1).Pom <= GT_All.tEvent.Pom Then '装備購入 Call Play_Event(PLAY_SOU, 40) GT_All.tEvent.Pom = GT_All.tEvent.Pom - Gti_AC_Info(t + mintMousSel1).Pom GT_All.tChar(mintStsCharNo).AC_NO(mintStsChoice - 4) = t + mintMousSel1 Select Case mintStsCharNo Case 0: Call TalkPicMsg_Event(211, "【ミカン】\n" & Gti_AC_Info(t + mintMousSel1).Name & "を購入・装備したよ") Case 1: Call TalkPicMsg_Event(212, "【奈津姫】\n" & Gti_AC_Info(t + mintMousSel1).Name & "を購入・装備したよ") End Select Else '金足らず Call Play_Event(PLAY_SOU, 5) Call TalkPicMsg_Event(210, LoadResString(321)) End If gintStsCase = 0 Call EvAct_Event(0) End If 'MG Case 7, 8 t = (mintStsChoice - 7) * 20 If GT_All.tEvent.MG_ENB(t + mintMousSel1) <> 0 Then If Gti_MG_Info(t + mintMousSel1).Pom <= GT_All.tEvent.Pom Then '装備購入 Call Play_Event(PLAY_SOU, 40) GT_All.tEvent.Pom = GT_All.tEvent.Pom - Gti_MG_Info(t + mintMousSel1).Pom GT_All.tChar(mintStsCharNo).MG_NO(mintStsChoice - 6) = t + mintMousSel1 Select Case mintStsCharNo Case 0: Call TalkPicMsg_Event(211, "【ミカン】\n" & Gti_MG_Info(t + mintMousSel1).Name & "を購入・装備したよ") Case 1: Call TalkPicMsg_Event(212, "【奈津姫】\n" & Gti_MG_Info(t + mintMousSel1).Name & "を購入・装備したよ") End Select Else '金足らず Call Play_Event(PLAY_SOU, 5) Call TalkPicMsg_Event(210, LoadResString(321)) End If gintStsCase = 0 Call EvAct_Event(0) End If End Select 'マウスムーブ Case 2 mintMousSel1 = 0 'BOX選択 For i = 1 To 20 X = 361 + Int(i / 11) * 113 If In_X >= X And In_Y >= 159 + ((i - 1) Mod 10) * 20 And In_X < X + 106 And In_Y < 172 + ((i - 1) Mod 10) * 20 Then mintMousSel1 = i End If Next 'コマンド変更 If mintMousSel1 <> mintMousSel2 Then mintMousSel2 = mintMousSel1 Call G_modManage.F_To_P_MG(False) If mintMousSel1 <> 0 Then Call Play_Event(PLAY_SOU, 6) Call G_modManage.ColorTarn_MG(361 + Int(mintMousSel1 / 11) * 113, 157 + ((mintMousSel1 - 1) Mod 10) * 20, 105, 13) '装備するものによるコメント表示変更 Select Case mintStsChoice Case 1, 2, 3 t = (mintStsChoice - 1) * 20 If GT_All.tEvent.WE_ENB(t + mintMousSel1) <> 0 Then Call Play_Event(PLAY_MXT, , _ "【" & Gti_WE_Info(t + mintMousSel1).Name & "】" & _ " [POM]" & Gti_WE_Info(t + mintMousSel1).Pom & _ " [斬]" & Gti_WE_Info(t + mintMousSel1).AT(1) & _ " [貫]" & Gti_WE_Info(t + mintMousSel1).AT(2) & _ " [砕]" & Gti_WE_Info(t + mintMousSel1).AT(3) & "\n" & _ Gti_WE_Info(t + mintMousSel1).Prof) Case 4 If GT_All.tEvent.HK_ENB(mintMousSel1) <> 0 Then Call Play_Event(PLAY_MXT, , _ "【" & Gti_HK_Info(mintMousSel1).Name & "】" & _ " [POM]" & Gti_HK_Info(mintMousSel1).Pom & _ " [斬]" & Gti_HK_Info(mintMousSel1).DF(1) & _ " [貫]" & Gti_HK_Info(mintMousSel1).DF(2) & _ " [砕]" & Gti_HK_Info(mintMousSel1).DF(3) & "\n" & _ Gti_HK_Info(mintMousSel1).Prof) Case 5, 6 t = (mintStsChoice - 5) * 20 If GT_All.tEvent.AC_ENB(t + mintMousSel1) <> 0 Then Call Play_Event(PLAY_MXT, , _ "【" & Gti_AC_Info(t + mintMousSel1).Name & "】" & _ " [POM]" & Gti_AC_Info(t + mintMousSel1).Pom & "\n" & _ Gti_AC_Info(t + mintMousSel1).Prof) t = (mintStsChoice - 7) * 20 Case 7, 8 If GT_All.tEvent.MG_ENB(t + mintMousSel1) <> 0 Then Call Play_Event(PLAY_MXT, , _ "【" & Gti_MG_Info(t + mintMousSel1).Name & "】" & _ " [POM]" & Gti_MG_Info(t + mintMousSel1).Pom & "\n" & _ Gti_MG_Info(t + mintMousSel1).Prof) End Select End If mObjForm.Refresh End If '右クリック Case 3 Call Play_Event(PLAY_SOU, 3) gintStsCase = 0 Call EvAct_Event(0) End Select End Select End Sub '---------------------------------------------------------- '機 能:戦闘準備ステータス文字表示 '---------------------------------------------------------- Private Sub Status_Drow_Event(ByVal In_CharNo As Integer) Dim i As Integer Dim X As Integer X = 209 '武器 For i = 1 To 3 Call G_modManage.Drow_MsgW_MG(Gti_WE_Info(GT_All.tChar(In_CharNo).WE_NO(i)).Name, X, 199 + (i - 1) * 20, 118, 13, 8) If GT_All.tChar(In_CharNo).WE_NO(i) <> 0 Then Call G_modManage.Drow_MsgW_MG("[" & Format(GT_All.tChar(In_CharNo).WE_TAMA(i), "00") & "]", X, 200 + (i - 1) * 20, 118, 13, 7, , 1) Next '服 Call G_modManage.Drow_MsgW_MG(Gti_HK_Info(GT_All.tChar(In_CharNo).HK_NO).Name, X, 259, 118, 13, 8) 'AC Call G_modManage.Drow_MsgW_MG(Gti_AC_Info(GT_All.tChar(In_CharNo).AC_NO(1)).Name, X, 279, 118, 13, 8) Call G_modManage.Drow_MsgW_MG(Gti_AC_Info(GT_All.tChar(In_CharNo).AC_NO(2)).Name, X, 299, 118, 13, 8) 'MG Call G_modManage.Drow_MsgW_MG(Gti_MG_Info(GT_All.tChar(In_CharNo).MG_NO(1)).Name, X, 319, 118, 13, 8) Call G_modManage.Drow_MsgW_MG(Gti_MG_Info(GT_All.tChar(In_CharNo).MG_NO(2)).Name, X, 339, 118, 13, 8) '日付など X = 55 Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.LV, X, 78, 95, 13, 9, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.ToDay & "日目", X, 105, 95, 13, 9, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.Pom, X, 132, 95, 13, 9, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.IQ, X, 159, 95, 13, 9, , 2) X = 191 Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.EXP, X, 78, 95, 13, 9, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.TIMES Mod 100, X, 105, 95, 13, 9, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.POW, X, 132, 95, 13, 9, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tEvent.BP, X, 159, 95, 13, 9, , 2) '状態 X = 68 Call G_modManage.Drow_MsgW_MG(GT_All.tChar(In_CharNo).MHP, X, 199, 50, 13, 8, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tChar(In_CharNo).HP, X, 219, 50, 13, 8, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tChar(In_CharNo).REP, X, 239, 50, 13, 8, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tChar(In_CharNo).AT, X, 259, 50, 13, 8, , 2) Call G_modManage.Drow_MsgW_MG(GT_All.tChar(In_CharNo).KVAL, X, 279, 50, 13, 8, , 2) End Sub '---------------------------------------------------------- '機 能:エンディング設定(トゥルー) '---------------------------------------------------------- Private Sub End_True_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) '/// アクションパターン /// Select Case In_Act '何もなし Case 0 mintMousSel2 = 0 mintMousSel1 = 0 Call COM_Wait_System(glngActTime * 200) glngCaseEvent = GENU_EV_CASE.EndGame_No '終了 End Select End Sub '---------------------------------------------------------- '機 能:エンディング設定(死亡) '---------------------------------------------------------- Private Sub End_Dead_Event(ByVal In_Act As Integer, _ Optional ByVal In_X As Single, Optional ByVal In_Y As Single) '/// アクションパターン /// Select Case In_Act '何もなし Case 0 mintMousSel2 = 0 mintMousSel1 = 0 '背景設定 mObjForm.Line (0, 0)-(640, 480), vbBlack, BF Call Play_Event(PLAY_PIC, 8001) mObjForm.Refresh 'クリック Case 1 glngCaseEvent = GENU_EV_CASE.EndGame_No '終了 End Select End Sub '---------------------------------------------------------- '機 能:トーク処理 '---------------------------------------------------------- Public Sub Talk_Event(ByVal In_TalkCase As String, Optional ByVal In_Str As String) Dim strReadTxt As String Dim sstr As String Dim i As Integer Dim ii As Integer Do i = i + 1 strReadTxt = Read_EveINI_MG(MSTR_TALK_FILE, In_TalkCase, i) '/// ■■■■■ トークパターン 1桁目で処理判定 ■■■■■ /// Select Case Left$(strReadTxt, 1) '[背景白表示] Case "C" mObjForm.Line (0, 0)-(640, 480), vbWhite, BF '[背景表示] Case "B" Call Play_Event(PLAY_PIC, Val(Mid(strReadTxt, 2))) '[画像表示] Case "P" Call Play_Event(PLAY_PIC, Val(Mid(strReadTxt, 2))) '[効果音] Case "S" Call Play_Event(PLAY_SOU, Val(Mid(strReadTxt, 2))) '[ミュージック] Case "O" Call Play_Event(PLAY_MID, Val(Mid(strReadTxt, 2))) '[トーク表示] Case "M" strReadTxt = Replace(strReadTxt, "%s", In_Str) Call Play_Event(PLAY_MXT, , Mid(strReadTxt, 2)) COM_Wait_System (glngActTime * 10) Call KeyWait_Event 'キー操作待ち '[トーク終了] Case "E" Call COM_Wait_System(200) 'キー連続操作を防ぐ Exit Do '[トーク待ち] Case "W" Call COM_Wait_System(Val(Mid(strReadTxt, 2))) 'キー連続操作を防ぐ '[トーク真ん中表示] Case "H" 'シナリオ文字表示2 Call Drow_Msg_MG(Mid(strReadTxt, 2), 0, 200, 640, 480, 20, &H40&, 0) mObjForm.Refresh COM_Wait_System (glngActTime * 10) '[エンディングへ] Case "Z" glngCaseEvent = GENU_EV_CASE.EndTrue_No Call EvAct_Event(0) Exit Do '[頭文字なしはエラー] Case Else Call MsgBox("頭文字なし エラー!") Exit Do End Select Loop End Sub '---------------------------------------------------------- '機 能:顔つきトーク処理 '---------------------------------------------------------- Public Sub TalkPicMsg_Event(ByVal In_PicNo As Integer, ByVal In_Str As String) Call G_modManage.F_To_P_MG(True) Call Play_Event(PLAY_PIC, 200) Call Play_Event(PLAY_PIC, In_PicNo) Call G_modManage.Drow_Msg_MG(In_Str, 235, 210, 485, 290, 9) mObjForm.Refresh 'キー操作待ち Call KeyWait_Event Call G_modManage.F_To_P_MG(False) mObjForm.Refresh End Sub '---------------------------------------------------------- '機 能:キーが押されるのを待つ '---------------------------------------------------------- Public Sub KeyWait_Event() glngTalkNext = 0 'キー連続操作を防ぐ Call COM_Wait_System(100) Do DoEvents '/// ゲームパット操作判定する /// If gblnPadUsed = True Then Call frmMain.KeyPad_Case4_Main Call COM_Wait_System(glngActTime) If glngTalkNext >= 10000 Then glngTalkNext = 0 Exit Do End If '/// 音楽の連続再生 /// Call C_modSound.COM_LoopCheck_Sound(True) Loop End Sub