S.T.A.L.K.E.R. SOCのMOD Oblivion Lost Remake2.5(OLR172) プレイ日記その4
-------------------------------
Cordonでのmilitary大尉護衛タスクで、大尉が消えてしまうというトラブルに見舞われた所からである。
■Cordon
[error]Arguments : LUA error: g:\mod bk\stalker-olr25\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)
このエラーだが、_g.scriptの該当箇所はこのようなものである。(unpackしたもの)
function printf(fmt,...)
log(string.format(fmt,...))
end
単に文字列を表示するだけで、特に問題があるとも思えないのだが、これをコメントにしてみた。
-- log(string.format(fmt,...))
これで無事起動、ロードできた。 となると、画面表示のテキストに、閲覧中になにかのゴミが入ってしまった、ということかもしれない。
しかし、この状態で会話すると、
[error]Arguments : LUA error: ...od bk\stalker-olr25\gamedata\scripts\xr_logic.script:1193: attempt to index local 'obj' (a nil value)
となる。
function printf(fmt,...)
log(string.format(fmt,...))
end
オリジナルの状態に戻し、最初のデータからを一つずつロードしてみた。 開始当初の「olr」はOK、その後の4までもOK、5で落ちる。
ということは、落ちるのはsyncronizingの所なので、このあたりで異常なデータが、セーブデータに書き込まれたのではないか。
それでは4から開始して進め、状況を確認してみよう。 4のデータは、高架橋でアーティファクトをとるタスクが出たところである。
ここでセーブ、そのデータをロードしたが異常なくロードできるし、会話も問題ない。
ということは、この後のアーティファクト取得・Diggerのミュータント・ATPでのmilitary護衛のいずれかで、データ異常が発生したものと思われる。
高架線の監視塔でアーティファクト取得、しかし前にはあったscientistsスーツはない。 しかもインベントリにはそのアーティファクトもないのだ。
ここでセーブ、ロードすると落ちる。 ではその直前のアーティファクトを取る前は?
これも落ちる。 しかしToadと話してアーティファクトタスクが出た時のデータは、問題なくロードできる。 はて?・・・
再びToadのデータから再開、高架線手前でセーブ、しかしこれも落ちる。 はて?
念のためToadのシーンのロード直後にセーブ、これはロードできる。 となると、問題が発生するのはその後となる。
しかし、今度はフリーズ、会話も移動もできなくなった。 但しメインメニューに入ることは出来る。
[error]Arguments : LUA error: ...k\stalker-olr25\gamedata\scripts\bind_stalker.script:639: attempt to concatenate field '?' (a nil value)
ここはゲームの難易度読み込みである。
get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty] or 0)
こんな所でのトラブルは、今まで経験したことがない。 無論前回のプレーでもなかった。
4からロードし、そのまま新しいデータ9にセーブしてみた。 これはロードできる。 となると、Toadのバンカーを出た後に問題がありそうである。
バンカーの階段を上がるところでセーブ、これは落ちる。 では、9からロード、後に向いた状態でセーブ、これはOKである。 しかし階段を登りかけた所でセーブすると、そのデータでは落ちる。
・・・・・・・・・・・・・・・・・・
階段手前までなら移動してもロードOKだが、階段にさしかかるとロードで落ちる。 これは今までに経験したことのないトラブルである。 これは文字通りの怪談である。
ならばもう一つ前の3からでは? これはmilitary基地近くで車を発見し、文書を取得した所である。 しかしこれも、アーティファクトタスクが出た後では落ちる。
こうなるとニューゲームで試すよりない。 しかしそれも面唐ナある。 それにかなり初期のデータからのやり直しでも不可なところをみると、アーティファクト自体になにか問題があるとしか考えられない。
このアーティファクトは「af_blood」だが、descrを見ても、キリル文字もないしおかしな所もない。 普通のアーティファクトである。
やむなくToadのアーティファクトタスクを改変した。
<dialog id="bar_friend_propusk">
<dont_has_info>bar_dolg_propusk_done</dont_has_info>
<!-- here
<precondition>nick.have_first_aatr</precondition>
<has_info>bar_dolg_propusk_have</has_info>
-->
これでアーティファクトは持っていなくても、アーティファクトタスクはクリアになる筈である。
OKである。 怪談は終わり、階段データのロードでも落ちなくなった。 やはりアーティファクトに問題があったのだろう。
次のタスクはDiggerのミュータントである。 しかしここでもロードに失敗する。
scriptsフォルダのui_main_menu.scriptをリネームして、これを読まない(db*のものを読む)ようにし、_g.scriptも又変更した。
function printf(fmt,...)
-- log(string.format(" "))
-- log(string.format(fmt,...))
end
しかしこれだと会話で落ちる。 しょうがない。 Diggerタスクもmilitaryタスクも飛ばすことにした。
不思議なことに、タスク対象のNPCではなく、Toadと会話した後ならロードもできるし、CTDもないことである。 しかし、これではゲームをしたことにならないし、第一まるで面白くない。
残念ながらこれでは継続は無理である。 ここでOLR172は投了となった。 評価は・・・ とにかくスクリプトエラーをなんとかしてくれい! それだけ(笑)
と断念した所で、救いの神が現れた。
S.T.A.L.K.E.R. SOCのMOD Oblivion Lost Remake2.5(OLR172) プレイ日記その5へ続く。