したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

改造・制作スレ part2

573名無しさん:2010/12/12(日) 00:02:41 ID:???
ななあし様質問です。

・やりたいこと
条件式関数のisInvade()を使い、ある領地で行われた戦闘の攻撃側と防御側の勢力を調べたい。

ある領地を所持する勢力は特定の勢力ではない。(領地、領地を保有する勢力、どちらも不特定多数を想定してます)
以下のようにコーディングしています。

1.戦闘開始前イベントで領地を所持する勢力の識別子を取得、あわせて戦闘があったことを示すフラグをセット
storeSpotOfBattle(@bS)
storePowerOfSpot(@bS,@bP)
set(isBattle,1)

2.戦闘終了時
if(isBattle == 1){
   if(isInvade(p1,@bP)){
       setVar(@P1,p1)
       msg(&@bP&に&@P1&がせめたよ)
   }
   if(isInvade(p2,@bP)){
       setVar(@P2,p2)
       msg(&@bP&に&@P2&がせめたよ)
   }
   以下、存在勢力分くりかえし
   set(isBattle,0)
}

3.結果としては攻撃側ではない勢力でもmsg()が処理されてしまいます。
(実際はmsg()ではなく別の処理ですが)

根本的に私の使い方が間違ってるような気もしますが、isInvade()の挙動がよくわかりません。
isWar()とisInvade()を合わせて使っても同様の結果です。
よろしければ使用例を提示して頂ければありがたいです。
あと他に直前の戦闘の攻撃側、防御側を調べる方法があればご教授お願いします。




掲示板管理者へ連絡 無料レンタル掲示板