レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
改造・制作スレ part2
-
ななあし様質問です。
・やりたいこと
条件式関数の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()を合わせて使っても同様の結果です。
よろしければ使用例を提示して頂ければありがたいです。
あと他に直前の戦闘の攻撃側、防御側を調べる方法があればご教授お願いします。
掲示板管理者へ連絡
無料レンタル掲示板