SRC質問掲示板Mk2

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

■23026 / 親記事)  全滅したのに全滅イベントが発生してくれません。
  
□投稿者/ 永藤 雪 -(2018/08/24(Fri) 21:03:14) [ID:uHGPnxr5]
    敵は全部倒して全滅イベントが始まったのですが、前の全滅イベントしか発生しません。そしてエピローグイベントに進んでくれません。
    あと、3以降脱出しないようにClearEventをしたのですが、それでも進んでしまいます。どうしたらいいですか?
    プログラムはこの通りです。

    脱出 味方 W:
    Incr 脱出カウント 1
    Switch 脱出カウント
    Case 1

    Case 2

    Case 3

    EndSw

    ChangeMap "Event05_$(脱出カウント).map"
    Night

    Switch 脱出カウント
    Case 1
    //全滅イベント
    全滅 敵:
    End
    Exit
    Case 2
    //全滅イベント
    Case 3
    //ラスボス登場
    //このClearEventはこれ以降進まないようにするためですが、無駄でした。
    ClearEvent
    ClearEvent "脱出 味方 W"
    EndSw
    Exit

    //ラスボス全滅イベント 認識されませんでした。
    全滅 敵:
    End
    Exit

    //ラスボス全滅イベントこれも認識しませんでした。
    If 敵数 = 0 And Exフラグ = 0 Then
    End
    EndIf
引用返信/返信 削除キー/
■23027 / ResNo.1)  Re[1]: 全滅したのに全滅イベントが発生してくれません。
□投稿者/ d -(2018/08/24(Fri) 22:00:21) [ID:wPNGPIba]
    2018/08/25(Sat) 18:18:55 編集(投稿者)
    >>前の全滅イベントしか発生しません。
    脱出イベントと全滅イベントの整合性がないからだと思います。
    脱出イベントと全滅イベントを下記の様に共通化すれば解決すると思います。
    
    >>//ラスボス全滅イベントこれも認識しませんでした。
    想定のイベントにたどり着いていないのが原因かも?
    
    //////////////////////////////////////////////////
    
    脱出 味方 W:
    全滅 敵:
    Incr 脱出カウント 1
    
    Switch 脱出カウント
    Case 1
    
    Case 2
    
    Case 3
    
    Case 4
    	// ラスボス登場後の全滅イベント
    	// Exitが無いとChangeMap以降のイベントが実行されます。
    	Exit
    EndSw
    
    ChangeMap "Event05_$(脱出カウント).map"
    Night
    
    Switch 脱出カウント
    Case 1 2
    	// 脱出カウント1,2が共通なら、この方法もあり。
    Case 3
    	// ラスボス登場
    	// 以降脱出イベントが発生しないようにClearEvent
    	ClearEvent "脱出 味方 W"
    EndSw
    Exit
    
    //////////////////////////////////////////////////
    
    もし脱出イベントと全滅イベントで処理を別ける必要がある場合は下記の様な感じでしょうか。
    
    //////////////////////////////////////////////////
    
    脱出 味方 W:
    Set 脱出イベントフラグ 1
    
    全滅 敵:
    Incr 脱出カウント 1
    
    Switch 脱出カウント
    Case 1
    	If 脱出イベントフラグ = 1 Then
    		// 脱出イベントの場合
    	Else
    		// 全滅イベントの場合
    	EndIf
    Case 2
    	If 脱出イベントフラグ = 1 Then
    		// 脱出イベントの場合
    	Else
    		// 全滅イベントの場合
    	EndIf
    Case 3
    	If 脱出イベントフラグ = 1 Then
    		// 脱出イベントの場合
    	Else
    		// 全滅イベントの場合
    	EndIf
    Case 4
    	// ラスボス登場後の全滅イベント
    	// Exitが無いとChangeMap以降のイベントが実行されます。
    	Exit
    EndSw
    
    ChangeMap "Event05_$(脱出カウント).map"
    Night
    
    Switch 脱出カウント
    Case 1 2
    	// 脱出カウント1,2が共通なら、この方法もあり。
    Case 3
    	// ラスボス登場
    	// 以降脱出イベントが発生しないようにClearEvent
    	ClearEvent "脱出 味方 W"
    EndSw
    
    Set 脱出イベントフラグ 0
    Exit

引用返信/返信 削除キー/
■23029 / ResNo.2)  Re[2]: 全滅したのに全滅イベントが発生してくれません。
□投稿者/ 永藤 雪 -(2018/09/07(Fri) 22:02:15) [ID:uHGPnxr5]
    Switch 脱出カウント

    Case 4
    //ラスボス登場後の全滅イベント
    If Exフラグ1 = 1 Or Party(ブラン) = 味方 Then

    Exit

    EndIf

    Continue EventEx3.eve

    If Exフラグ = 0 Or Party(ブラン) = 敵 Then
    Exit
    EndSw
    EndIf
    Continue EventEx2.eve


    Continueで切れてしまうせいか、EndSwがあるのにありませんと出ます。
    If文を分けたのも同じ理由です。
    そうしたらIf文は解決したようです。
    どうしたらいいですか?
引用返信/返信 削除キー/
■23030 / ResNo.3)  Re[3]: 全滅したのに全滅イベントが発生してくれません。
□投稿者/ d -(2018/09/08(Sat) 18:06:10) [ID:xzR9OdRb]
    >>Continueで切れてしまうせいか、EndSwがあるのにありませんと出ます。
    Continueでは無くEndSwをIf内に入れているのが原因だと思います。
    例えば@のSwitchをIfに変換するとAのようになります。
    EndSwはIf文で言えばEndIfに相当しています。そのためIf内にEndSwのみを入れてしまうとエラーになります。
    
    本題ですがフラグ状況でイベントや次回ステージを分岐さたいと言う事でしょうか?
    それでしたらBを参考にして下さい。
    
    // @
    //////////////////////////////////////////////////
    
    Switch 脱出カウント
    Case 1
    
    Case 2
    
    Case 3
    
    Case 4
    
    EndSw
    
    // A
    //////////////////////////////////////////////////
    
    If 脱出カウント = 1 Then
    
    ElseIf 脱出カウント = 2 Then
    
    ElseIf 脱出カウント = 3 Then
    
    ElseIf 脱出カウント = 4 Then
    
    EndIf
    
    // B
    //////////////////////////////////////////////////
    
    Switch 脱出カウント
    
    Case 4
    	// ラスボス登場後の全滅イベント
    
    	// Continueを使うならExitは不要。
    	If Exフラグ1 = 1 Or Party(ブラン) = 味方 Then
    		Continue EventEx3.eve
    	Else
    		Continue EventEx2.eve
    	EndIf
    EndSw

引用返信/返信 削除キー/
■23031 / ResNo.4)  Re[4]: 全滅したのに全滅イベントが発生してくれません。
□投稿者/ 永藤 雪 -(2018/09/09(Sun) 22:26:18) [ID:uHGPnxr5]
    Case 3
    If 脱出イベントフラグ = 1 Then

    Else
    //ここのイベントが発生します。
    EndIf
    Case 4
    //ここのイベントが発生しません。

    EndIf
    EndSw

    どうすればいいですか?

    Aも試してみようと思います。

    Bので大丈夫です。
引用返信/返信 削除キー/
■23032 / ResNo.5)  Re[5]: 全滅したのに全滅イベントが発生してくれません。
□投稿者/ d -(2018/09/10(Mon) 19:22:33) [ID:JjTlysVJ]
    >>Case 3
    >>If 脱出イベントフラグ = 1 Then
    >>
    >>Else
    >>//ここのイベントが発生します。
    >>EndIf
    >>Case 4
    >>//ここのイベントが発生しません。
    >>
    >>EndIf
    >>EndSw
    
    全体のイベントが記載されていないので確かなことはいえませんが、
    脱出カウントが3で全滅イベント時なら「//ここのイベントが発生します。」で問題ないですでは?
    もしくは脱出カウントが3で脱出イベント処理の事を仰っているのなら↓の部分が抜けていませんか?
    
    それと脱出カウントが4の時にイベントが発生しないのであれば、If文を追加している様なので追加したIfに原因があるのでは?
    
    
    // ↓
    脱出 味方 W:
    Set 脱出イベントフラグ 1
    
    全滅 敵:
    Incr 脱出カウント 1

引用返信/返信 削除キー/
■23033 / ResNo.6)  Re[6]: 全滅したのに全滅イベントが発生してくれません。
□投稿者/ 永藤 雪 -(2018/09/14(Fri) 20:09:17) [ID:uHGPnxr5]
    最初のマップの全滅イベントを書いていたのと、Case4のIf文が原因でした。
    直して、全滅イベントのときにExit書いたら思うように動くようになりました。

    ありがとうございました。
解決済み!
引用返信/返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -