SRC質問掲示板Mk2

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

■22933 / 1階層)  必要技能「隣接」を性別で分けられるかどうか?
□投稿者/ dip -(2016/12/27(Tue) 15:41:22) [ID:x7hCiVjD]
    2016/12/27(Tue) 17:31:25 編集(投稿者)
    現状のSRCの仕様だと「必要技能」の「ユニット隣接」は性別指定に対応していません。
    それとInfo関数の使用とは「必要技能」でInfo関数を使用すると言った事でしょうか?
    そうだとするなら、そもそも「必要技能」に関数を使用できる機能は備わっていなかったと思います。
    
    代案としてはイベントを作成して擬似的に再現する方法が現実的だと思います。
    とりあえず参考までに処理のサンプルを作成してみました。
    
    
    #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
    
    
    煩悩パワー
    ダミー特殊能力=煩悩パワー
    格闘強化Lv2=非表示 (煩悩レベルLv1)
    射撃強化Lv2=非表示 (煩悩レベルLv1)
    命中強化Lv2=非表示 (煩悩レベルLv1)
    回避強化Lv2=非表示 (煩悩レベルLv1)
    反応強化Lv2=非表示 (煩悩レベルLv1)
    技量強化Lv2=非表示 (煩悩レベルLv1)
    格闘強化Lv2=非表示 (煩悩レベルLv2)
    射撃強化Lv2=非表示 (煩悩レベルLv2)
    命中強化Lv2=非表示 (煩悩レベルLv2)
    回避強化Lv2=非表示 (煩悩レベルLv2)
    反応強化Lv2=非表示 (煩悩レベルLv2)
    技量強化Lv2=非表示 (煩悩レベルLv2)
    格闘強化Lv2=非表示 (煩悩レベルLv3)
    射撃強化Lv2=非表示 (煩悩レベルLv3)
    命中強化Lv2=非表示 (煩悩レベルLv3)
    回避強化Lv2=非表示 (煩悩レベルLv3)
    反応強化Lv2=非表示 (煩悩レベルLv3)
    技量強化Lv2=非表示 (煩悩レベルLv3)
    格闘強化Lv2=非表示 (煩悩レベルLv4)
    射撃強化Lv2=非表示 (煩悩レベルLv4)
    命中強化Lv2=非表示 (煩悩レベルLv4)
    回避強化Lv2=非表示 (煩悩レベルLv4)
    反応強化Lv2=非表示 (煩悩レベルLv4)
    技量強化Lv2=非表示 (煩悩レベルLv4)
    煩悩パワー=解説 味方の女性が隣接してると全ての能力値が+10。効果は重複される。
    
    
    *進入 全 X() Y():
    Call 煩悩パワー処理 対象ユニットID
    Exit
    
    *攻撃 全 全:
    Call 煩悩パワー処理 対象ユニットID 相手ユニットID
    Exit
    
    *攻撃後 全 全:
    *破壊 全:
    Call 煩悩パワー処理 対象ユニットID 相手ユニットID
    Exit
    
    # ↓戦闘で終了しなかった場合の処理
    *エピローグ:
    ForEach 全 全て
    	If Info(パイロット,対象パイロット,特殊能力所有,煩悩レベル) = 1 Then
    		ClearSkill 対象パイロット 煩悩レベル
    	EndIf
    Next
    Exit
    
    煩悩パワー処理:
    Local i j k l
    Local xx yy
    Local cnt pid
    Local rng = 1 // 範囲を変えたい場合はここの値を変更して下さい。
    Local uid1 uid2
    For i = 1 To ArgNum
    	Set uid1 Args(i)
    	Set pid PilotID(uid1)
    	If Info(ユニット,uid1,特殊能力所有,煩悩パワー) = 1 Then
    		If Status(uid1) = 出撃 Then
    			Set xx X(uid1)
    			Set yy Y(uid1)
    			Set cnt 0
    			For j = (0 - rng) To rng
    				Set k (rng - Abs(j))
    				For l = (0 - k) To k
    					Set uid2 Info(マップ,(xx + j),(yy + l),ユニットID)
    					If (uid2 <> "") And (uid2 <> uid1) Then
    						If Party(uid1) = Party(uid2) Then
    							If Info(パイロット,PilotID(uid2),性別) = 女性 Then
    								Incr cnt 1
    							EndIf
    						EndIf
    					EndIf
    				Next
    			Next
    			If cnt > 0 Then
    				SetSkill pid 煩悩レベル cnt 非表示
    			ElseIf Info(パイロット,pid,特殊能力所有,煩悩レベル) = 1 Then
    				ClearSkill pid 煩悩レベル
    			EndIf
    		ElseIf Info(パイロット,pid,特殊能力所有,煩悩レベル) = 1 Then
    			ClearSkill pid 煩悩レベル
    		EndIf
    	EndIf
    Next
    Return

記事引用 削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←必要技能「隣接」を性別で分けられるかど.. /Shun [ID:nE4DXYig] →Re[2]: 必要技能「隣接」を性別で分けら.. /Shun [ID:nE4DXYig]
 
上記関連ツリー

Nomal 必要技能「隣接」を性別で分けられるかど.. / Shun (16/12/24(Sat) 15:14) [ID:nE4DXYig] #22929
Nomal 必要技能「隣接」を性別で分けられるかど.. / dip (16/12/27(Tue) 15:41) [ID:x7hCiVjD] #22933 ←Now
  └Nomal Re[2]: 必要技能「隣接」を性別で分けら.. / Shun (16/12/28(Wed) 14:21) [ID:nE4DXYig] #22934 解決済み!

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

Pass/

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

- Child Tree -
- Antispam Version -