SRC質問掲示板Mk2

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

■22886 / 3階層)  任意の相手を自分の隣接マスまで引き寄せるアビリティを作るには?
□投稿者/ dip -(2016/03/08(Tue) 02:37:27) [ID:f1ysFWbr]
    2016/03/08(Tue) 04:21:53 編集(投稿者)
    >選択後キャンセル時のユニットコマンド
    
    以前の処理流れは「神隠し使用>対象選択>使用確認>神隠し発動」で、
    使用確認でキャンセルした場合、対象選択に戻る処理を入れていたので、そこら辺が不具合に見えたんだと思います。
    マスク処理を導入しておけば分かりやすかったと思います。
    
    
    >戦闘アニメエラー
    
    戦闘アニメを見ると、どうやら相手ユニットIDを設定する必要があるようです。
    「戦闘アニメ_防御テレポート1」発動を使用するには「Select」を「SelectTarget」に変更する必要があります。
    ちなみに「Select = 対象ユニットID」「SelectTarget = 相手ユニットID」に設定されます。
    
    
    Shunさんの処理を加えて修正してみました。
    
    
    // ここで使用する変数を設定。
    使用 味方 神隠し:
    Set 神隠しフラグ 1
    Set 神隠し使用者 対象ユニットID
    // ↓使用したアビリティ情報を記録。
    Set 神隠し使用番号 対象ユニット使用アビリティ番号
    Set 神隠し使用回数 Info(ユニット,対象ユニットID,アビリティ,対象ユニット使用アビリティ番号,使用回数)
    Exit
    
    // ↓味方前提の処理です。それ以外の陣営では使えません。
    使用後 味方 神隠し:
    // ↓で対象者を設定。
    ForEach 全 出撃
    	// とりあえず味方の場合は除外。
    	// 条件を変更したい場合は↓を変更して下さい。
    	If (Party(対象ユニットID) <> 味方) Then
    		Set 神隠し対象者[対象ユニットID] 1
    	EndIf
    	// 操作できないように設定する。↓は必須。
    	SetStatus 対象ユニットID 非操作 -1
    Next
    // ↓で対象者がいる場合といない場合の分岐。
    If (Count(神隠し対象者) = 0) Then
    	// 対象者が存在しない場合の処理。
    	Call 神隠し終了処理 2
    Else
    	// 対象者が存在する場合の処理。
    EndIf
    Exit
    
    // ユニットコマンドで使用の確認。
    ユニットコマンド 神隠し発動 全 ((神隠しフラグ = 1) And (神隠し対象者[対象ユニットID] = 1)):
    Confirm 神隠しを発動しますか?
    If (選択 = 1) Then
    	// 確認が不要なら↓二行だけ残して使用して下さい。
    	Center 対象ユニットID
    	SelectTarget 対象ユニットID
    	Call 戦闘アニメ_防御テレポート1発動 " " 64 紫 BeamSaber(4).wav
    	Escape
    	Wait 10
    	Launch X(神隠し使用者) Y(神隠し使用者) 非同期
    	Center 対象ユニットID
    	SelectTarget 対象ユニットID
    	Call 戦闘アニメ_防御テレポート1発動 " " 64 紫 BeamSaber(4).wav
    	Call 神隠し終了処理 1
    Else
    	// 使用をキャンセルした時、対象者を選び直す場合は[2]を[3]に変更して下さい。
    	Call 神隠し終了処理 2
    EndIf
    Exit
    
    // 神隠し使用中、ユニットの存在しない箇所で右クリックすれば神隠しをキャンセル。
    マップコマンド 神隠しキャンセル (神隠し終了処理(2) = 1):
    Exit
    
    // Args(1) = 処理フラグ
    // 1 = 神隠し使用
    // 2 = 神隠しキャンセル
    // 3 = 対象者キャンセル
    神隠し終了処理:
    If (神隠しフラグ = 1) Then
    	// キャンセルの場合、使用回数を復元。
    	If (Args(1) = 2) Then
    		SetStock 神隠し使用者 神隠し使用番号 神隠し使用回数
    	EndIf
    	If (Args(1) <= 2) Then
    		UnSet 神隠しフラグ
    		UnSet 神隠し使用者
    		UnSet 神隠し対象者
    		UnSet 神隠し使用番号
    		UnSet 神隠し使用回数
    		ForEach 全 出撃
    			ClearStatus 対象ユニットID 非操作
    		Next
    	EndIf
    EndIf
    Return 0

記事引用 削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[2]: 任意の相手を自分の隣接マスまで.. /Shun [ID:nE4DXYig] →Re[4]: 任意の相手を自分の隣接マスまで.. /Shun [ID:nE4DXYig]
 
上記関連ツリー

Nomal 任意の相手を自分の隣接マスまで引き寄せ.. / Shun (16/03/04(Fri) 18:28) [ID:nE4DXYig] #22882
Nomal Re[1]: 任意の相手を自分の隣接マスまで.. / dip (16/03/07(Mon) 17:16) [ID:rQmApr0S] #22884
  └Nomal Re[2]: 任意の相手を自分の隣接マスまで.. / Shun (16/03/08(Tue) 00:52) [ID:nE4DXYig] #22885
    └Nomal 任意の相手を自分の隣接マスまで引き寄せ.. / dip (16/03/08(Tue) 02:37) [ID:f1ysFWbr] #22886 ←Now
      └Nomal Re[4]: 任意の相手を自分の隣接マスまで.. / Shun (16/03/08(Tue) 07:36) [ID:nE4DXYig] #22887
        └Nomal Re[5]: 任意の相手を自分の隣接マスまで.. / dip (16/03/08(Tue) 18:39) [ID:2NS206kI] #22888
          └Nomal Re[6]: 任意の相手を自分の隣接マスまで.. / Shun (16/03/08(Tue) 21:59) [ID:nE4DXYig] #22889 解決済み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Pass/

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

- Child Tree -
- Antispam Version -