1.
特定のエリアを占領したときに発生するイベントで マスターによって発生するかしないか分かれる イベントの組み方について解説する。 基本的に AreaKuni[勢力番号] を使うのが常套手段だと思われる。 特定のマスターだけ起こる/起こらないイベントの場合、 例えばデフォのワットサルトは、ウォーラックとルーゼルは仲間にすることが出来ないが、 その時のスクリプトは if (Turn>=45 && Flag[26]==false && AreaButaiKz[19]<20 && AreaKuni[19]!=9 && AreaKuni[19]!=0 && AreaKuni[19]!=4) という条件式になっている。 特定のマスターにだけ発生させたくないイベントを組む場合は 上記のAreaKuni[x]!=y を使うと良い。 この条件式の AreaKuni[19]!=9 && AreaKuni[19]!=0 && AreaKuni[19]!=4 が、それぞれエリア[19]を占領しているのが ウォーラックではない。中立軍ではない。ルーゼルではない。 ことを指している。 条件式の AreaKuni[19]!=xをAreaKuni[19]==x に変えると ウォーラックである。中立軍である。ルーゼルである。 という条件に変わる。 しかし、このままでは3人(?)のマスターが同時に一つのエリアを占領しているという条件になってしまう。当然そのような状態は存在し得ないので 少し条件式の書き方を変える必要がある。 if (Turn>=45 && Flag[26]==false && AreaButaiKz[19]<20) { if(AreaKuni[19]==9 || AreaKuni[19]==0 || AreaKuni[19]==4) { イベント } } このようにすると、ふたつめの条件式で ウォーラックであるか、または中立軍であるか、またはルーゼルである。 場合にイベントが発生するという条件にできる。 2.
しかし、このままでは少し冗長気味なので、 変数を使って省略する方法を紹介する。 Set a,AreaKuni[19] if (a==9 || a==0 || a==4) このようなスクリプトを作ると 変数aに、エリア19を占領している勢力の勢力番号を代入し、 代入した番号が「9 もしくは 0 もしくは4」である場合に イベントが発生する。 このように二つ目の条件式で Set a,AreaKuni[x] if (a==y || a==z) という風にスクリプトを組むのが一般的である。 3.
他に少し変則的なイベントを紹介する。 けものもののけのイベントであるが エリア21[ココラ山]を占領した特定のマスターが 特定の人材を連れている時に発生するイベントである。 //29石像イベント if(AreaButaiKz[21]<20 && Flag[29]==0 && KuniPlayer[1]==false) { Set a,AreaKuni[21] if (a>1) { if (HeroKuni[%コラル]==a || HeroKuni[%アラ]==a || HeroKuni[%ルシア]==a) { (中略) } } } 一つ目の条件式内の KuniPlayer[1]==false は「勢力番号1のマスターではイベントは発生しない」。 Set a,AreaKuni[21] if (a>1) { if (HeroKuni[%コラル]==a || HeroKuni[%アラ]==a || HeroKuni[%ルシア]==a) { (中略) } で、変数aにエリア[21]の勢力番号を代入し aが1以上である時(←勢力番号1には発生させない為)に発生。 さらに、 コーラルかアーラかルシアが勢力aに所属していることが条件となる。 余談ではあるが、この上記のイベントは 「特に魔力の高いものを引き連れてワーニワトリ族の宝物庫を訪れると、 石像(呪いで石にされた人間)3体のうち好きな1体を人間に戻すことが出来る」 というイベントである。 |