OGSE 0693 FINALでのメインメニューから戻れない件は、解決した。
まず英語のフォルダに、日本語フォルダから5つずつ入れていってテスト。 ついにそのファイルを突き止めた。 やはり日本語ファイルのひとつがおかしかったのだ。
string_table_ui.xml これである。 しかし特におかしいところはないのだが、これを英語にするとOKなのだ。
この一見異常のないファイルが、なんらかの障害を引き起こすというのは、これまで何回か経験している。
つまり「見えないダメ文字」という奴である。 一見普通の日本語なのだが、どこかに妙なコードが紛れ込んでいるというものである。
それを一文字ずつ検証して探し出すのは、時間がかかりすぎるので、英語ファイルに差し替え、無事解決したのである。
「急がば回れ」とはよく言ったもので、億劫がらずに最初からこれをやれば良かったのだが、つい面唐ナ先送りしていたのだ。
それにしても不思議なのは、なぜ最初に起動した時、又はロードした時には落ちないで、メインメニューに入った後、抜ける時に落ちるか、という点である。
ファイルに異常があれば、起動時に落ちるのが普通なのに、メインメニューさえ出さなければ、ほぼ正常にプレイが続行できる。
これはなんとも不思議な現象で、「ゾーンではなんでも起きる」という、S.T.A.L.K.E.R.での有名な合い言葉?を思いだしてしまう。
ともあれ、これでOGSE 0693 FINALもプレイできる。 やれやれホッ・・・
S.T.A.L.K.E.R. SOCのMOD 男の道戻ります その10
--------------------------------
ジンジャーブレッドマンのタスクを済ませ、Mihalichに会いにいく所からである。
■Predzone
? マーカーはSidorovichのバンカーに出ている。 バンカーというよりSidorovichそのものである。
![](https://blogimg.goo.ne.jp/user_image/29/ef/0564f5a6e3995373f53e3063ace30d27.jpg)
さてはCordonから夜逃げをして、借金取りから身を隠すために、世を忍ぶ仮の名を名乗っているのだな。
タヌキシドならありそうなことだ。 Cordon時代には、さんざん人を騙して金をむしり取っていたから、当然の報いだろう。
なにせこ奴は、「おい、Marked One。 オレの代わりにあのストーカーに、立て替えてやってくれ。 なに、ここへ戻ったらすぐ金は返すから」などと言う。
で、大枚7万ルーブルをそのストーカーに渡して、Sidorovichの所に戻ると、「おめえはあのストーカーに騙されたんだ。 奴はもうトンズラしてるぜ」なとどヌカして、結局金は返してもらえない、という阿漕なことを平気でする奴なのだ。
(Nardonaya Soljankaにて)
案の定Sidorovich(Mihalich)は、「村の近くにある洞窟になにか住みついている。 探して見ろ」と言うのだ。 この洞窟は前に行った、あの崖の下にある洞窟のことだろう。
やはり灰色マーカーはそこに出ている。
![](https://blogimg.goo.ne.jp/user_image/1f/90/e3fc552fb962b6851d5ef5bf532039ee.jpg)
ではひとっ走り洞窟探検に出かけようか。
それにしても、今回の「男の道戻ります」は、あの悪名高い「デジャ」の新版とは思えない程良くできている。
ダメ文字以外のCTDはほとんどないし、スクリプトエラーもこれまではない。 しかもタスクは明解で、なにをすればよいのか迷うこともない。
恐らくはデジャで散々言われたので、発奮して作り直したのだろう。 しかし、これは作り直しというより、全く新しいMODと言える。
その発奮の甲斐あって、ロシアのサイトの人気投票でも、常に最上位に近いところにあるのだ。
おめでとう、MODDER賛!
洞窟に入り、一渡り探してみたが、特になにもいない。 しかし、最深部の2階に上がり、他のMODではアイテム類がある奥の部屋に入ると、いたいた!
![](https://blogimg.goo.ne.jp/user_image/36/be/9fa8d46d9cb84c4ea89632767e795d70.jpg)
ャ泣^ーガイストである。 下半身がないという、不気味なミュータントである。 これを唐キと、シドの所に戻れとなる。
![](https://blogimg.goo.ne.jp/user_image/0f/52/6f02d44247468fc6bd320e6bc414cc1c.jpg)
念のために、ャ泣^ーガイストの目を取っておいた。 あのタヌキのことだから、証拠を見せろなどと言うかもしれない。 そのための備えである。
帰ってSidorovichと話すと、Limanskの話が出た所でCTD。 これもダメ文字だろう。
■ご注意!
以下CTDの原因探しが延々と続く。 興味の無い方は最後迄読み飛ばしてくだされ。
調べてみると、ここでも前回と同じような原因らしい。
gameplay\dialogs_vozvraschenie.xml
action>chelovek.raciya_stepanichu_dali /action>
dialogs.relocate_item_section(second_speaker, "racya_book", "in")
これだろう。 racya_bookにダメ文字があると考えられる。
misc\chel_vozv.ltx
しかしここにはキリル文字はない。 はて?
$spawn = "devices\chel_vozv\yashik_book"
これもおかしな所はなさそうだ。
ならばご褒美なしにしたらどうか。
ここでのactionは2つある。
<action>chelovek.raciya_stepanichu_dali</action>
<action>y_level.start_perexod_zaton</action>
<action>y_level.start_perexod_zaton</action>はZaton行きなので、これはコメントにはできない。
<action>chelovek.raciya_stepanichu_dali</action>は、ご褒美を諦めればコメントにしても大丈夫だろう。
しかしやはり落ちる。 となるとご褒美actionではなく、Zaton行きactionらしい。 これは困った。
一応Zaton行きactionをコメントに、ご褒美は生きている設定にしてみた。
<!-- here
<action>y_level.start_perexod_zaton</action>
-->
これは落ちない。 Limanskタスクも出る。 しかし、Zatonタスクは無いと困る。
このstart_perexod_zatonは、grepすると
gameplay\dialogs_vozvraschenie.xmlと
gamedata\scripts\y_level.script 329 function start_perexod_zaton()
の2カ所しかヒットしない。 gameplay\dialogs_vozvraschenie.xmlは単に指定しているだけなので、その本体はy_level.scriptの関数y_level.scriptだろう。
scripts\y_level.script 329 function start_perexod_zaton()
function start_perexod_zaton()
-- ????????? ??????? ?? ?????
if (not has_alife_info( "zaton_perehod" )) then
level_new.create_level_changer(5482, vector():set(195.61181640625,-28.7510662078857,508.563598632813),1216107,4029,
1828823,
3698,
vector():set(550.341918945313,13.3884258270264,610.624755859375),
vector():set( 0.0, 0.0, -1.0 ),
"zaton",
0)
db.actor:give_info_portion("zaton_perehod")
end
end
これをコメントにしてみた。
-- if (not has_alife_info( "zaton_perehod" )) then
-- end
OKである。
dialogs_vozvraschenie.xmlではこれをコメントにしているので、それで出るエラーだろう。 このコメントをはずしてみた。
<action>y_level.start_perexod_zaton</action>
if (not has_alife_info( "zaton_perehod" )) then もコメントをはずした。
しかしこれでは落ちる。 ではscripts\y_level.scriptでもう一度コメントにすれば?
-- if (not has_alife_info( "zaton_perehod" )) then
-- end
落ちる。 この関数はZatonマップ作製の関数だろう。 これがだめとなると、Zatonは存在しなくなる。 これは非常にまずい。 まずいというより詰みである。
-- vector():set( 0.0, 0.0, -1.0 ),
-- "zaton",
念のためZatonマップ作製の項をコメントにしてみた。 これなら落ちない。 では、Zaton作製の
ということはlevel_new.scriptファイルのcreate_level_changerの方に問題があるのか。
ここにはZaton作製の関数はない。 y_level.scriptの方で宣言しているからだろう。 ではy_level.scriptの関数をそっくりlevel_new.scriptに移したらどうか?
これも不可である。 ではdialogs_vozvraschenie.xmlで、y_level.scriptを呼ばずにlevel_new.scriptをよんでみたらどうか。
<action>level_new.start_zaton()_</action>
これでだめなら、spawnの数値が間違っているか、他の原因が有るかということになる。
S.T.A.L.K.E.R. SOCのMOD 男の道戻ります その11に続く。