SRC質問掲示板Mk2

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

■22888 / 5階層)  任意の相手を自分の隣接マスまで引き寄せるアビリティを作るには?
□投稿者/ dip -(2016/03/08(Tue) 18:39:56) [ID:2NS206kI]
    2016/03/19(Sat) 23:25:21 編集(投稿者)
    行動回数の不具合は気付いていたのですが、すかっり直すのを忘れていました…
    
    // ここで使用する変数を設定。
    使用 味方 神隠し:
    Set 神隠しフラグ 1
    Set 神隠し使用者 対象ユニットID
    // とりあえずHP、EN、気力、行動回数の情報を記録。HP、EN、気力は武器属性での増減対策。
    Set 神隠し前HP[対象ユニットID] HP(対象ユニットID)
    Set 神隠し前EN[対象ユニットID] EN(対象ユニットID)
    Set 神隠し前気力[対象ユニットID] Morale(対象ユニットID)
    Set 神隠し前行動回数[対象ユニットID] Action(対象ユニットID)
    // ↓使用したアビリティ情報を記録。
    Set 神隠し使用番号 対象ユニット使用アビリティ番号
    Set 神隠し使用回数 Info(ユニット,対象ユニットID,アビリティ,対象ユニット使用アビリティ番号,使用回数)
    Exit
    
    // ↓味方前提の処理です。それ以外の陣営では使えません。
    使用後 味方 神隠し:
    // ↓で対象者を設定。
    ForEach 全 出撃
    	// 対象:陣営が味方以外。
    	//If (Party(対象ユニットID) <> 味方) Then
    	//	Set 神隠し対象者[対象ユニットID] 1
    	//EndIf
    	// 対象:味方ユニット。分岐:使用者かそれ以外。
    	If (Party(対象ユニットID) = 味方) Then
    		If (対象ユニットID = 神隠し使用者) Then
    			Set 神隠し対象者[対象ユニットID] 2
    		Else
    			Set 神隠し対象者[対象ユニットID] 1
    		EndIf
    	EndIf
    	If (対象ユニットID <> 神隠し使用者) Then
    		Set 神隠し前行動回数[対象ユニットID] Action(対象ユニットID)
    	EndIf
    	// 操作できないように設定する。↓は必須。
    	SetStatus 対象ユニットID 非操作 -1
    Next
    // ↓で対象者がいる場合といない場合の分岐。
    If (Count(神隠し対象者) = 0) Then
    	// 対象者が存在しない場合の処理。
    	Call 神隠し終了処理 2
    Else
    	// 対象者が存在する場合の処理。
    EndIf
    Exit
    
    // 神隠し使用中、ユニットの存在しない箇所で右クリックすれば神隠しをキャンセル。
    マップコマンド 神隠しキャンセル (神隠し終了処理(2) = 1):
    Exit
    
    // Args(1) = 処理フラグ
    // 1 = 神隠し使用
    // 2 = 神隠しキャンセル
    // 3 = 対象者キャンセル
    神隠し終了処理:
    If (神隠しフラグ = 1) Then
    	If (Args(1) = 2) Then
    		// キャンセルの場合、色々復元。
    		Set HP(神隠し使用者) 神隠し前HP[神隠し使用者]
    		Set EN(神隠し使用者) 神隠し前EN[神隠し使用者]
    		Set Action(神隠し使用者) 神隠し前行動回数[神隠し使用者]
    		IncreaseMorale 神隠し使用者 (神隠し前気力[神隠し使用者] - Morale(神隠し使用者))
    		SetStock 神隠し使用者 神隠し使用番号 神隠し使用回数
    	EndIf
    	If (Args(1) <= 2) Then
    		ForEach 全 出撃
    			ClearStatus 対象ユニットID 非操作
    			If (対象ユニットID <> 神隠し使用者) Then
    				Set Action(対象ユニットID) 神隠し前行動回数[対象ユニットID]
    			EndIf
    		Next
    		UnSet 神隠しフラグ
    		UnSet 神隠し使用者
    		UnSet 神隠し対象者
    		UnSet 神隠し前HP
    		UnSet 神隠し前EN
    		UnSet 神隠し前気力
    		UnSet 神隠し前行動回数
    		UnSet 神隠し使用番号
    		UnSet 神隠し使用回数
    	EndIf
    EndIf
    Return 0
    
    ■↓Moveの場合。
    
    ユニットコマンド 神隠し発動 全 ((神隠しフラグ = 1) And (神隠し対象者[対象ユニットID] >= 1)):
    //Confirm 神隠しを発動しますか?
    //If (選択 = 1) Then
    	Center 対象ユニットID
    	Wait 5
    	SelectTarget 対象ユニットID
    	Call 戦闘アニメ_防御テレポート1発動 " " 64 紫 BeamSaber(4).wav
    	// 一時的にユニットを非表示。
    	ChangeUnitBitmap 対象ユニットID 非表示
    	If (神隠し対象者[対象ユニットID] = 2) Then
    		// 状況によっては元の位置に戻る事もあります。
    		If ((X(対象ユニットID) - 1) > 0) Then
    			Move 対象ユニットID (X(対象ユニットID) - 1) Y(対象ユニットID) 非同期
    		ElseIf ((Y(対象ユニットID) - 1) > 0) Then
    			Move 対象ユニットID X(対象ユニットID) (Y(対象ユニットID) - 1) 非同期
    		ElseIf ((X(対象ユニットID) + 1) < Info(マップ,幅)) Then
    			Move 対象ユニットID (X(対象ユニットID) + 1) Y(対象ユニットID) 非同期
    		ElseIf ((Y(対象ユニットID) + 1) < Info(マップ,高さ)) Then
    			Move 対象ユニットID X(対象ユニットID) (Y(対象ユニットID) + 1) 非同期
    		EndIf
    	Else
    		Move 対象ユニットID X(神隠し使用者) Y(神隠し使用者) 非同期
    	EndIf
    	Wait 10
    	Center 対象ユニットID
    	SelectTarget 対象ユニットID
    	// ユニットの非表示解除。
    	ChangeUnitBitmap 対象ユニットID 非表示解除
    	Call 戦闘アニメ_防御テレポート1発動 " " 64 紫 BeamSaber(4).wav
    	Call 神隠し終了処理 1
    //Else
    	// 使用をキャンセルした時、対象者を選び直す場合は[2]を[3]に変更して下さい。
    //	Call 神隠し終了処理 3
    //EndIf
    Exit
    
    ■↓Escape、Launchの場合。
    
    ユニットコマンド 神隠し発動 全 ((神隠しフラグ = 1) And (神隠し対象者[対象ユニットID] >= 1)):
    //Confirm 神隠しを発動しますか?
    //If (選択 = 1) Then
    	Center 対象ユニットID
    	SelectTarget 対象ユニットID
    	Call 戦闘アニメ_防御テレポート1発動 " " 64 紫 BeamSaber(4).wav
    	If (神隠し対象者[対象ユニットID] = 2) Then
    		// 状況によっては元の位置に戻る事もあります。
    		If ((X(対象ユニットID) - 1) > 0) Then
    			Move 対象ユニットID (X(対象ユニットID) - 1) Y(対象ユニットID) 非同期
    		ElseIf ((Y(対象ユニットID) - 1) > 0) Then
    			Move 対象ユニットID X(対象ユニットID) (Y(対象ユニットID) - 1) 非同期
    		ElseIf ((X(対象ユニットID) + 1) < Info(マップ,幅)) Then
    			Move 対象ユニットID (X(対象ユニットID) + 1) Y(対象ユニットID) 非同期
    		ElseIf ((Y(対象ユニットID) + 1) < Info(マップ,高さ)) Then
    			Move 対象ユニットID X(対象ユニットID) (Y(対象ユニットID) + 1) 非同期
    		EndIf
    	EndIf
    	Escape
    	Wait 10
    	Launch X(神隠し使用者) Y(神隠し使用者) 非同期
    	Center 対象ユニットID
    	SelectTarget 対象ユニットID
    	Call 戦闘アニメ_防御テレポート1発動 " " 64 紫 BeamSaber(4).wav
    	Call 神隠し終了処理 1
    //Else
    	// 使用をキャンセルした時、対象者を選び直す場合は[2]を[3]に変更して下さい。
    //	Call 神隠し終了処理 3
    //EndIf
    Exit

記事引用 削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[4]: 任意の相手を自分の隣接マスまで.. /Shun [ID:nE4DXYig] →Re[6]: 任意の相手を自分の隣接マスまで.. /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 Re[3]: 任意の相手を自分の隣接マスまで.. / dip (16/03/08(Tue) 02:37) [ID:f1ysFWbr] #22886
      └Nomal Re[4]: 任意の相手を自分の隣接マスまで.. / Shun (16/03/08(Tue) 07:36) [ID:nE4DXYig] #22887
        └Nomal 任意の相手を自分の隣接マスまで引き寄せ.. / dip (16/03/08(Tue) 18:39) [ID:2NS206kI] #22888 ←Now
          └Nomal Re[6]: 任意の相手を自分の隣接マスまで.. / Shun (16/03/08(Tue) 21:59) [ID:nE4DXYig] #22889 解決済み!

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

Pass/

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

- Child Tree -
- Antispam Version -