「部隊作成と動かし方」の編集履歴(バックアップ)一覧に戻る

部隊作成と動かし方 - (2011/04/29 (金) 20:48:56) のソース

<p style="text-align:justify;">手探りで改造した部隊作成の方法を説明していきたいと思います</p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;">1,まずは部隊を作る</p>
<p style="text-align:justify;"> まずはじめに自分好みの部隊を作りましょう。</p>
<p style="text-align:justify;">
 gamedata\configs\misc\squad_descr(MAP名).ltx を開いてください</p>
<p style="text-align:justify;"> そこにこれを追加してみます</p>
<table cellspacing="1" cellpadding="1" border="1" style="width:546px;height:203px;"><tbody><tr><td>[active_group]<br />
faction = stalker<br />
npc = sim_default_stalker_3, sim_default_stalker_3, sim_default_stalker_3<br />
target_smart = red_smart_terrain_6_3<br />
relation = friend<br />
sympathy = 0</td>
</tr></tbody></table><p> </p>
<p style="text-align:justify;"><br />
faction……言わずとも派閥名です PDAに表示される派閥名となります</p>
<p style="text-align:justify;">
npc……部隊に湧かせるNPCです。configs\creatures\spawn_section.ltx から引っ張ってきてください<br />
ただ、どうやら制限があるようで custom_dataが使われていたり、一度に大量に沸かせるとダメみたいです</p>
<p style="text-align:justify;"><br />
target_smart……部隊が攻撃目標もしくは拠点とする場所です 条件による変更も可能のようです<br />
ここはスポンする場所によって、攻撃できる場所とできない場所があるようです</p>
<p style="text-align:justify;">relation……スカーさんとの関係です</p>
<p style="text-align:justify;">sympathy……よくわかりません</p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> ここで部隊の作成が終わったら、次は湧かせましょう</p>
<p style="text-align:justify;">2,部隊のリスポン</p>
<p style="text-align:justify;"> 初めに言っておきますと、これはかなり強引なやり方です</p>
<p style="text-align:justify;"> おそらくもっと正しいやり方があると思います。ご存知の方は編集お願いします</p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> configs\scripts\(MAP名) を開いてください</p>
<p style="text-align:justify;"> いろいろなスクリプトファイルがあるはずです</p>
<p style="text-align:justify;"> その中で、できるだけ構造が単純そうなものを選んでみてください</p>
<p style="text-align:justify;">
 例として赤森のフォルダにある red_bounty_hunter_restr.ltxを開きます</p>
<table cellspacing="1" cellpadding="1" border="1" style="width:1017px;height:281px;"><tbody><tr><td>
<p style="text-align:justify;"> [logic]<br />
active = sr_idle<br /><br />
[sr_idle]<br />
;on_info =
{=squad_in_zone(red_pursuit_bounty_hunters_squad_1:red_bloodsucker_hunter_zone1)}
%+red_bounty_hunter_far%<br />
;on_info2 =
{=squad_in_zone(red_pursuit_bounty_hunters_squad_1:red_psy_dog_restr)}
%+red_bounty_hunter_middle%<br />
;on_info3 =
{=squad_in_zone(red_pursuit_bounty_hunters_squad_1:red_psy_dog_restr)}
sr_idle@nil %+red_bounty_hunter_forester_place%<br />
;on_info4 = {!squad_exist(red_pursuit_bounty_hunters_squad_1)} sr_idle@nil</p>
<p style="text-align:justify;"> [sr_idle@nil]</p>
</td>
</tr></tbody></table><p style="text-align:justify;"> </p>
<p style="text-align:justify;"> 肝心なところが無効にされていることから、使われていないファイルのようです</p>
<p style="text-align:justify;">
 余裕がある人は、all.spawnを展開、該当マップのalifeを開いて、これがちゃんと実行されているかどうか確認した方がいいと思います</p>
<p style="text-align:justify;"> 「;」で区切られているところはいらないので、消しても構いません</p>
<p style="text-align:justify;"> [sr_idle]以下にこれを追記します</p>
<table cellspacing="1" cellpadding="1" border="1" style="width:774px;height:44px;"><tbody><tr><td style="text-align:justify;">on_info ={!squad_exist(active_group)}
sr_idle@nil %=create_squad(active_group:red_smart_terrain_6_3)%</td>
</tr></tbody></table><p style="text-align:justify;">
 これは「active_groupが存在しない場合、red_smart_terrain_6_3にactive_groupをスポンさせる」という感じのものです</p>
<p style="text-align:justify;"> red_smart_terrain_6_3というのは、グロ肉がいた場所ですね</p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> これで赤森に入ると3人のLonerがグロ肉のいたところでキャンプを張っているはずです</p>
<p style="text-align:justify;"> では、次は他の場所からその場所へ移動させてみましょう</p>
<p style="text-align:justify;"> on_info ={!squad_exist(active_group)}
sr_idle@nil %=create_squad(active_group:red_smart_terrain_6_3)%</p>
<p style="text-align:justify;">
 の red_smart_terrain_6_3 を red_smart_terrain_4_2 に変えます。</p>
<p style="text-align:justify;">
 red_smart_terrain_4_2はフォレスター爺さんの小屋の下にいたDuty達のキャンプです</p>
<p style="text-align:justify;"> ここに湧いてグロ肉がいた場所へ侵攻してくれます</p>
<p style="text-align:justify;">
 ここで使用するterrainはall.spawnのalifeファイルで、攻められる場所が決められているようです</p>
<p style="text-align:justify;">
 詳しくは各alifeのterrainセクションの[smart_terrain]のtargetsを参照してください</p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> ※覚えておくといろいろ便利なon_info条件</p>
<p style="text-align:justify;"> on_infoでは{}で囲うことで条件を指定することができ、=だと真を、!だと偽を表す</p>
<p style="text-align:justify;"> ・squad_exist(部隊名)……部隊が存在するかどうか</p>
<p style="text-align:justify;">
 ・is_smart_in_combat(terrain)……そのterrainで戦闘があってるかどうか</p>
<p style="text-align:justify;">
 ・is_smart_captured(terrain)……そのterrainが占領されているかどうか</p>
<p style="text-align:justify;">
 ・smart_captured_by_faction(terrain:派閥名)……そのterrainを占領しているのはその派閥かどうか</p>
<p style="text-align:justify;"> 連続して on_infoを使いたい場合はon_info2,
on_info3...のように数字をつけると動く</p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> これを応用すれば、いろいろ楽しいZONEライフが送れることだと思います</p>
<p style="text-align:justify;">
 もし需要があるようであれば、自分が集めたsmart_terrainを近いうちにあげたいと思います</p>
<p style="text-align:justify;"> 一応動作確認はしてますが、動かなかった場合はコメントお願いします</p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> </p>
<p style="text-align:justify;"> </p>
目安箱バナー