「水素の作成ミニ知識」の編集履歴(バックアップ)一覧はこちら
「水素の作成ミニ知識」(2008/01/22 (火) 20:57:12) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<p>1.クリアの条件について</p>
<p>ファーレントゥーガのゲーム終了の条件は、</p>
<p>「1つのマスター(プレイヤー、CPU問わず)から見て、<br>
永久同盟国以外の他国が存在しなくなる」事である。</p>
<p>コレさえ満たせば、1つのマスターから見た永久同盟国同士が<br>
交戦していても問答無用でゲーム終了である。</p>
<p>2.EventScriptにおける保存可能な変数の利用方法<br>
<br>
初心者にとってはいずれも危険な方法であり、<br>
バグの嵐を巻き起こしかねないことを最初に断っておく。<br>
<br>
その1 未使用のエリアの街、城壁、道路<br>
<br>
初期値・・・0<br>
使える変数の数・・・(99-全使用エリア数)×3<br>
可能な値域・・・0~231(水素(仮名)調べ)<br>
<br>
「Heroic Age」にて参考程度に書かれている方法。<br>
変数として使用するエリアそのものの存在(BMap.**)は必要だが、<br>
(AreaDataにさえ記述があれば不必要かも)<br>
街等の数はAreaData(テキストエディタで直接編集可)で弄くればOK。<br>
また、シナリオの設定でエリアを未使用にしておけば<br>
エリア一覧で見られることも無い。<br>
弱点は値域の狭さ(マイナス値は0に、232以上は231に修正される)と、<br>
フィールドが広い場合確保できる変数が限られること。<br>
<br>
*シナリオ開始時に「データが間違っている」<br>
「FT再インストしやがれ」などと言われて強制終了させられる場合の対処法。<br>
<br>
新たに作ったエリアが、シナリオデータに記述されていない可能性が高いです。<br>
これを直すには、Dataフォルダ内のscenario*をテキストエディタで開き、<br>
[Area]の欄に新たに書き加えるか、あるいはエディタで当該エリアとその支配国を<br>
クリックすればscenario*も書き換えられます。<br>
<br>
その2 未使用のLey<br>
<br>
初期値・・・0<br>
使える変数の数・・・一応マスターの数を30くらいとすると、<br>
まぁ、実用的には60~70程度かなあ。<br>
さすがにLey[0以下]を指定するとエラーになる。(水素(仮名)調べ)<br>
可能な値域・・・0~999(水素(仮名)調べ)<br>
<br>
バハムトゥーガ、mean、PGなどのイベントで使用されている。<br>
マスターの数というものは大概作成初期で決まってしまう為、<br>
エリアと比べて気軽に使用できる。また、値そのものも0~999まで可能。<br>
それを超えた場合もループ処理ではなく0や999に修正なので扱いも楽。<br>
余程数を使うイベントを作らないならこれを利用するのが吉。<br>
<br>
その3 未使用のLeague<br>
<br>
初期値・・・0<br>
使える変数の数・・・調べるの面倒くさいが、[]のどちらかに100以上の何らかの<br>
マスターNOを指定したらエラーが起こった気がする。<br>
代入するNOは2桁までが安心だ。それでも<br>
使用可能な変数の数は間違いなく4桁の大台に乗る。<br>
可能な値域・・・0~255(それ以上、或いはそれ以下の数字を入れると<br>
-1なら255、256なら0といった感じにループする)<br>
<br>
凄まじい数の変数を使用できるが、扱いが非常に面倒くさい。<br>
したがって使われているシナリオも、俺が知る限りでは<br>
FTE0.3、FarenAfter70、そして世界幼年期の終わりに+の<br>
三作のみである。<br>
<br>
League使用上の注意(以下注意は水素(仮名)の実体験に基づくorz)<br>
①.直接Plus命令を使わないこと。<br>
<br>
Set League[20][21],200<br>
Plus League[20][21],1<br>
<br>
のようなことをすると、何故か値が6や7に修正されてしまう。<br>
<br>
Set League[20][21],200<br>
Set a,0<br>
Set a,League[20][21]<br>
Plus a,1<br>
Set League[20][21],a<br>
<br>
のように、一度一時変数におろして、それを足し引きした上で<br>
再度代入しなければならない。<br>
<br>
②.League[a][b]==League[b][a]であることに気をつける。<br>
繰り返し処理をしている場合は特に危険!<br>
いっそのことbに入れるNOは、aより小さい数か大きい数かで<br>
シナリオ全体で統一しよう。</p>
<p>1.クリアの条件について</p>
<p>ファーレントゥーガのゲーム終了の条件は、</p>
<p>「1つのマスター(プレイヤー、CPU問わず)から見て、<br>
永久同盟国以外の他国が存在しなくなる」事である。</p>
<p>コレさえ満たせば、1つのマスターから見た永久同盟国同士が<br>
交戦していても問答無用でゲーム終了である。</p>
<p>2.EventScriptにおける保存可能な変数の利用方法<br>
<br>
初心者にとってはいずれも危険な方法であり、<br>
バグの嵐を巻き起こしかねないことを最初に断っておく。<br>
<br>
その1 未使用のエリアの街、城壁、道路<br>
<br>
Set AreaCity[a],b<br>
Set AreaWall[a],b<br>
Set AreaRoad[a],b<br>
<br>
初期値b0・・・0<br>
使える変数の数a・・・(99-全使用エリア数)×3<br>
可能な値域b・・・0~231(水素(仮名)調べ)<br>
<br>
「Heroic Age」にて参考程度に書かれている方法。<br>
変数として使用するエリアそのものの存在(BMap.**)は必要だが、<br>
(AreaDataにさえ記述があれば不必要かも)<br>
街等の数はAreaData(テキストエディタで直接編集可)で弄くればOK。<br>
また、シナリオの設定でエリアを未使用にしておけば<br>
エリア一覧で見られることも無い。<br>
弱点は値域の狭さ(マイナス値は0に、232以上は231に修正される)と、<br>
フィールドが広い場合確保できる変数が限られること。<br>
<br>
*シナリオ開始時に「データが間違っている」<br>
「FT再インストしやがれ」などと言われて強制終了させられる場合の対処法。<br>
<br>
新たに作ったエリアが、シナリオデータに記述されていない可能性が高いです。<br>
これを直すには、Dataフォルダ内のscenario*をテキストエディタで開き、<br>
[Area]の欄に新たに書き加えるか、あるいはエディタで当該エリアとその支配国を<br>
クリックすればscenario*も書き換えられます。<br>
<br>
その2 未使用のLey<br>
<br>
Set Ley[a],b<br>
<br>
初期値b0・・・0<br>
使える変数の数a・・・一応マスターの数を30くらいとすると、<br>
まぁ、実用的には60~70程度かなあ。<br>
さすがにLey[0以下]を指定するとエラーになる。(水素(仮名)調べ)<br>
可能な値域b・・・0~999(水素(仮名)調べ)<br>
<br>
バハムトゥーガ、mean、PGなどのイベントで使用されている。<br>
マスターの数というものは大概作成初期で決まってしまう為、<br>
エリアと比べて気軽に使用できる。また、値そのものも0~999まで可能。<br>
それを超えた場合もループ処理ではなく0や999に修正なので扱いも楽。<br>
余程数を使うイベントを作らないならこれを利用するのが吉。<br>
<br>
その3 未使用のLeague<br>
<br>
Set League[a1][a2],b<br>
<br>
初期値b0・・・0<br>
使える変数の数a1,a2・・・調べるの面倒くさいが、[]のどちらかに100以上の何らかの<br>
マスターNOを指定したらエラーが起こった気がする。<br>
代入するNOは2桁までが安心だ。それでも<br>
使用可能な変数の数は間違いなく4桁の大台に乗る。<br>
可能な値域b・・・0~255(それ以上、或いはそれ以下の数字を入れると<br>
-1なら255、256なら0といった感じにループする)<br>
<br>
凄まじい数の変数を使用できるが、扱いが非常に面倒くさい。<br>
したがって使われているシナリオも、俺が知る限りでは<br>
FTE0.3、FarenAfter70、そして世界幼年期の終わりに+の<br>
三作のみである。<br>
<br>
League使用上の注意(以下注意は水素(仮名)の実体験に基づくorz)<br>
①.直接Plus命令を使わないこと。<br>
<br>
Set League[20][21],200<br>
Plus League[20][21],1<br>
<br>
のようなことをすると、何故か値が6や7に修正されてしまう。<br>
<br>
Set League[20][21],200<br>
Set a,0<br>
Set a,League[20][21]<br>
Plus a,1<br>
Set League[20][21],a<br>
<br>
のように、一度一時変数におろして、それを足し引きした上で<br>
再度代入しなければならない。<br>
<br>
②.League[a][b]==League[b][a]であることに気をつける。<br>
繰り返し処理をしている場合は特に危険!<br>
いっそのことbに入れるNOは、aより小さい数か大きい数かで<br>
シナリオ全体で統一しよう。</p>