2014年09月30日

(SimPeople)バグの解消に役立つかもしれない起動オプション

シムピ本体の起動オプションには、オブジェクトのデバッグ用の物があります。これを解説している海外サイトは多少ありますが、日本語の物は見当たらなかったので少し解説してみます。
開発者向けのオプションなので、多少技術的な話になるのはご勘弁を。




起動時のオプションといえば、"-w" や "-r1024x768" が良く知られていますが、オブジェクトのデバッグ用として "-debug_objects" という物があります。これを付けて起動すると、オブジェクトがエラーになったときにダイアログが出て、同時にSims.exeのフォルダにエラーのログが出ます。これを見れば、どのオブジェクトがなぜエラーになったかが大体わかります。

ここで出るエラーは致命的なものだけです。突然シムやヘルパーがマップの中央辺りにワープするのを見たことがあるかもしれませんが、主にこの様な時にエラーになっています。エラーが起こると、そのオブジェクトや使用していたキャラクターをリセットするので、キャラクターはマップ中央のいわゆる「初期位置」に戻ることになります。

これ以外にも、エラーは出ないけど動作がおかしい、いわゆる相性が悪いといわれるものもあります。そういったものは残念ながらこのログには出てきません。
私はまだそういう相性には出会ったことが無いので推測ですが、例えばシムのRelationshipは好感度や関係を格納していて、0番と2番が短期/長期好感度で、3番以降は基本使われていません。なのである意味勝手に使えるんですが、万一別々のオブが同じ所を使うとお互いに上書きしあって動作がおかしくなります。こういうものはエラーにはならないので見つけたり修正したりが難しくなります。

取り合えずエラーが出たとして、バグを直そうとしても難しいでしょう。それでも、以前まで動作していたのに突然おかしくなった、という時は、エラーになっているオブジェクトを一旦アンインストール(Downloadsフォルダからよける)して起動、多分「オブジェクトが見当たりません」と言われるので無視して保存、再導入で直ることも多いです。

単純にゲーム中で削除ではない理由は、「見えないオブジェクトやマップ外にあるオブジェクト」が残ることがあるからです。元から削除してしまえば、そのオブジェクトは起動時に自動的にすべて削除されるので完全に消すことが出来ます。




それでは、実際のエラーログを見てみましょう。サンプルとして、片づけられない皿を作ってみました。

こちらの症状は、「ヘルパーが仕事が無くなるとワープしては椅子に戻るのを繰り返す」「バスボーイ呼び出し植物で呼んだバスボーイが仕事がなくなると動かなくなる」、という物です。ヘルパーがワープするのは見たことがあるかもしれませんが、それの分かりやすいサンプルです。実際のバグでは、見えない皿やゴミが原因だったりするのでそれに気づかない事が多いと思います。

bug1.jpg
実際のエラーを見ると、ヘルパーではなくデフォルトの食事(Food.iff)の方でエラーが起きているのが分かります。ヘルパーの動作がおかしいからと言って、ヘルパーに問題があるわけでは無い典型的な例です。

エラーがおきているのは"Clean Up"という、ゴミや皿を片づける部分です。
ここでは、プログラムを"Error"で強制的に終わらせていますが、そうするとこの"Undefined Transition"エラーが出ます。「必ずTrueかFalseで終わらなければならないのにErrorで終わってるよ」というエラーです。
※ ここでは、"エラー"は実際に問題が起きたことを、"Error"はIFFPencil上の"TrueLine/FalseLine" のリンク先を表しています。

この場合は、皿を片づけようとすると(皿に向かう前に)エラーが発生して、ヘルパーがリセットされてマップ中央にワープ、椅子に戻った後にまた片付けようとしてワープ…を繰り返すことになります。

他にもエラーは色々ありますが、最悪エラーの出ているオブジェクトが分かればそれをDownloadsフォルダから削除・起動して保存・再導入すればある程度は解決できると思います。
もちろん、自分で修正できる方は修正したほうがいいです。なにかハックしたオブを公開するときのチェックなどにも有用です。


.

2014年09月27日

(SimPeople)紐がとても魅力的なシーリングランプ

昨日シムのアニメーションをチェックしてたらピンときたので、早速作ってみました。
しょうもないジョークオブです。ありがちなネタなのでどこかのサイト様と被ってたらすいません。




shadow1.jpg
紐のついたシーリングランプです。ついシャドーボクシングをしたくなります。
シャドーボクシングをすると楽しさが少し上がります。
どうせジョークオブなので複数人同時使用可にしました。
大人のみ使用可。過ちを犯すのはいつも大人なのさ。

導入後は、電子製品->その他に並びます。
フリーウィルの吸引力は低めなので、必要なら調整してください。

Base:Maxis セミナリー・天井ファン&サンタ・バエナ・シーリング・ランプ


*******************************************************************************
※ マジッククッキーを持っていないので、適当に乱数で作ったマジッククッキーを使用しています。
※ わかる範囲で重複は調べましたが、もしどこかの作者様と被っているとかありましたら教えてください。
※ 現在、58009(E299)を使用しています。
*******************************************************************************

ダウンロードはこちらからどうぞ。
kap_lampceiling_shadow.zip




.

2014年09月25日

(SimPeople)無駄に無駄な動きをするヘルパー呼び出し絵画

ヘルパーと言えばpreSIMS様のヘルパー呼び出し絵画が有名です。多くのクローン品も出ていて今更感に溢れていますが、性懲りもなく私も作ってしまいました。
ちなみに便利な機能とかそういうものは何一つありません。無駄に無駄な機能をつけてある無駄に鬱陶しいヘルパーです。
何故か全力投球で作りました。楽しかったです。
あと、家族作成に使えるスキンも同梱しているので、それだけでいいという方もどうぞ。




gake1.jpg
こちらがそのヘルパーです。某動画で有名になった某紳士と、ついでに作った淑女です。左上にあるのが呼び出し用の絵画です。

gake2.jpg
休憩中に、何故か窓に向かうことがあります。窓の先はいったい…?

gake3.jpg
夜、家族が寝静まった後です。何故かタンスの前に立っています。何をするつもりなんでしょうか。




こんな無駄機能が付いただけのヘルパーです。これ以外は普通のヘルパーと変わりません。本当に無駄です。
一応、変更点としては、
絵画を設置しただけではヘルパーが現れないように
2種類のヘルパーが入っているので、好きなヘルパーを選んで呼び出してください。

一枚の呼び出し絵画で何人でも呼び出せるように
絵画のメニューから選択することで、何人でも呼び出せるようになっています。
どの仕事をするかの優先順位は全員同じなので、あまりたくさん呼んでもたいして効率的にはなりませんので注意してください。

メニューの「クビ!」の動作を変更し、帰ったヘルパーが二度と現れないように
元は「クビ!」を選択しても翌日10時に帰ってきましたが、二度と現れないようにしました。
戻ってきてほしい時は再度雇用してください。たぶん中の人は同じです。
「もう帰っていいよ」は元のままなので、翌日来てほしい時はこちらをどうぞ。

崖下らしい動作を追加
深夜家族が寝静まった後、時折異性の寝室に侵入することがあります。寝静まってしばらくたっても何も起きなければ、その日はもう起きません。寝室にタンス類(着替えできるオブ)が無いと何も起こりません。
また、家族が水着や裸になる部屋に窓があるととても喜びます。外で水着や裸になっても何も起こりません。
これらの動作はヘルパーが暇なとき(通常だと椅子に座って待機している状態)にのみ起こります。さすがに仕事優先です。
なお、直接手を出すことはありません。YesロリータNoタッチ。

この様になっております。

また、崖下スキンは body・Headメッシュ両方ともMaxisデフォルトの物です。なので配布品には含まれていません。
万一表示されない(透明になる)時はコメントでもして下さい。
スキンはMaxisスキンベースの改造品、ポニーテールのメッシュもMaxisメッシュから持ってきています。

*******************************************************************************
※ マジッククッキーを持っていないので、適当に乱数で作ったマジッククッキーを使用しています。
※ わかる範囲で重複は調べましたが、もしどこかの作者様と被っているとかありましたら教えてください。
※ 現在、58009(E299)を使用しています。
*******************************************************************************

こんなどうしようもない品ですが、それでもよければこちらからどうぞ。
kap_helper_gakesita.zip

※ 14/9/26 23時修正
追加行動時のリアクションが薄かったので濃い目に変更、及びReadmeを修正しました。

.

2014年09月21日

(SimPeople)スキンを分類して整理しておけるバッチファイル

私がシムピを初めて2か月ちょいになりますが、順調にオブやスキンが増えてきました。オブは普通にフォルダ分けして置いておけますが、スキンはそうもいきません。なんだか順調に先人の轍を踏みまくってる気がしますが、とりあえず色々何とかしてみましょう。




今までは、ダウンロードしてきたスキンはちまちまと.farに纏めたりしてきましたが、やっぱり面倒&分類しづらいです。
とりあえず整理がてら中身を確認したりしてたら、SkinsBuyに入れるはずの水着がSkinsに入っていました。…あれ、この水着今使ってるはず、と思って確認してみましたが、やはり普通に反映されていました。

色々過去ログとか調べると、どうやらペット&ガーデニングの辺りから、どこのSkins・SkinsBuyに入れても認識されるようになったみたいです。どのスキンの説明にもSkinsBuyに入れてくれ、とあるので、それ以外ダメなもんだと思ってました。
一応、ヘッドスキンやその他全部SkinsBuyに入れたり、逆にSkinsBuyのファイルを全部各ExpansionPackのSkinsに入れたりしてみましたが、どこでも問題なく動作しました。
また、アクセサリ付き水着の.cmxだけ別のフォルダに入れたりしましたが、ちゃんと別フォルダの.sknやアクセサリも読み込んでくれました。どうやら、各ExpansionPackのSkinsフォルダやGameData\Skinsをすべて纏めて1つとして扱っているようです。
※ ExpansionPack\Skins は使えません。.farを展開するとわかりますが、ここだけSkinsフォルダがありません。おそらくExpansionPack2からSkinsフォルダが導入されたと思われます。

とりあえずこれで水着だ寝間着だとかの悩みは無くなりましたが、使えるフォルダが9つと限られているのは変わりません。面倒なので、別の場所にフォルダ分けしてそこから自動でSkinsに移動してくれるバッチファイルを作りました。

本当はサムネが出てきてチェックしたら反映される、みたいな奴がいいんですが、今更そんなもの作るほど需要もモチベーションも無いので。




取りあえず、フォルダに分類したのはこんな感じです。色々偏ってたりしますが、その辺は気にしないようにお願いします。
compress2.jpg
後はバッチファイルを実行すれば、自動的に.farにしてくれます。ファイル名のみですが、重複ファイルの検索機能も付いてます。.far自体の名前もフォルダの名前が階層ごとつくので、一時的に除外したい時とかは.farを移動すれば済みます。




compress3.jpg

インストール
デフォルトでは、作成した.farを入れたいフォルダの直下にフォルダを作って、その中にインストールします。置き場所を変えたい時は、バッチファイルをテキストエディタで開くと設定があるので、インストール先を書き込んでください。

.farの作成にSHUNZO様のFarFaを、CMX/SKNファイルの変換に MISSING SIMS様のCMX2BCF・SKN2BMFを使用しているので、ダウンロードしてきて z_FarCompress.bat と同じフォルダに置きます。
SHUNZO様
http://www.shunzo.net/
MISSING SIMS様
http://www.geocities.jp/missing_sims/

使用法
分類したスキンは、このバッチファイルの下のフォルダに置きます。孫・曾孫それ以上のフォルダも大丈夫ですが、あまり深くするとファイル名が長すぎてエラーになるので程々に。
フォルダ名を.farの名前にする仕様上、日本語は使えません。作成する.farを1つにしてフォルダは日本語可、などはやれば可能ですが、私の使い方では微妙なので。
※ 新しい家族を作るときなどに、余計なスキンの入った.farを外して作りやすくする事が多いので。

compress4.jpg
バッチファイルをダブルクリックなどで直接実行すると、バッチファイル以下のフォルダを検索してすべてのファイルが再生成されます。
すべて再生成するには多少時間がかかるので、一部変更したときは変更したフォルダをドラッグ&ドロップすればそのフォルダだけを再生成します。

直接実行したときは、以前生成した.farを削除してから再生成します。インストール先にある"__"(アンダーバー2つ)から始まる.farをすべて削除するので、自分で作成した.farにはそういう名前を付けないでください。どこかのSkinsフォルダを1つ専用にすると心配が無くていいです。

気を付けなければいけないのは、分類用フォルダに入れてインストールした気になって、ゲーム中で「あれ、出てこない」という状況です。というか、私がよくやります。
これを使用するときはどこかのSkinsフォルダ1つがFarCompress専用になって他のフォルダは空くと思うので、そこをテストやお試し用にするといいです。

デフォルトのスキンをここに入れても構いません。ただ、毎回再生成されて重くなるので、.farを一度作ったら別のフォルダに移動して分類用フォルダから移動しておくといいかもしれません。もういじらないフォルダも除けておくと実行が速くなりますが、重複ファイルのチェック対象外になるので注意してください。




今更導入するのも面倒でしょうし、再インストールの時くらいしか需要は無い気がしますがこちらに置いておきます。
FarCompress.zip



.

2014年09月10日

(SimPeople)タイムスケールを変更する、怪しさ満点のパッチソフト

シムピをやっていると、どうしても通常のオブジェクトとかでは手の出ない所が気になったりします。やたらと時間が過ぎるのが速い、起きて動き出すまで30分とかどうなの、とか。そこで今回は、タイムスケールの変更、つまりシムの動きはそのままに時間を延ばしたりしてみます。

当然ですが、その辺の設定はプログラムに直接書き込まれているので、その辺をいじることになります。本体を直接書き換えるのは色々とアレなんで、ランチャーの様に別のソフトから起動してメモリ上で変更することにします。なので、ハードディスク上の本体やその他のデータなどには一切手を加えません。

SimsHack1-1.jpg
こちらが今回作成したプログラムです。大層な名前ですが、大したことはできません。
とりあえず、時間経過の速度を 通常、2/3、1/2に変更できます。また、家族の人数が18人を超えたあたりからセーブ時に強制終了しますが、それを落ちないようにします。

残念ながらタイムスケールを変更しても、体力などが時間経過で下がる量は変わりません。そのままだと夕方辺りに就寝してしまいます。
そこの値も修正できればよかったんですが、よく分からんかったので回復オブを同梱してあります。
置いただけでは何も起こらないので、シムに使わせて、使用するタイムスケールに合わせた設定をして下さい。

SimsHack1-2.jpg
起きている間は 体力、空腹、便意が時間が伸びた分だけ減り辛くなります。
寝ている間は 空腹、便意は減り辛く、体力は回復しづらくなります(睡眠時間が長くなるのでそれの調整)
気になる方は自分で調整とかして下さい。




大家族用のパッチは、家族が増えるとセーブ時に強制終了するのを回避するパッチです。
強制終了しても、ゲームデータは(多分)ちゃんと保存されていて再開できるんですが、オールドタウンやバケーションなどのセーブを挟む外出が出来なくなるので。

ぶっちゃけ、何の処理かわからないけど落ちる部分を飛ばしているのでその辺はご覚悟下さい。
私の所では、セーブ時に強制終了してもゲームデータは保存されていて問題なくプレイできていましたが、家族のWebページが保存されていませんでした。
おそらく、その辺のゲームとは直接関係ない部分で強制終了してるんじゃないかなーとか思ってます。あくまで推測ですが。

どうやら家族をエクスポートしようとして強制終了している様なので、そこを飛ばしています。
飛ばしているのは落ちる部分だけなので、Exportフォルダにファイルは出来ますが、壊れていてインポートはできません。インポートしたい時は、チェックボックスをOFFにして保存する必要があります。また、8人以上の家族をインポートするとキャラクタークリエイト画面で強制終了するので、インポートしたい時は8人以下に家族を分けて下さい。

とは言え、まともな動作を保証するわけではありませんし、公式の想定外の人数ですから、大家族でプレイする時はバックアップとデータが消える覚悟はしておいてください。
こちらの使用は自己責任でお願いします。




物はこちらに置いておきます。使用の際にはReadmeをよく読んでご利用ください。
SimsHack_v01.zip




.