2014年08月06日

(SimPeople)地形を編集してみよう その2 -Excel簡易エディタで好きな地形を!-

土地を平らにする方法は前回書きましたが、やっぱり真っ平というのも少々味気なかったりします。設置したい物が多い時は仕方がないですが、余裕があるなら高低差を生かした建築もやってみたいですよね。

というわけで、高低差をExcelで読み込んで編集できるマクロを書いてみました。
勿論ゲーム内でも整地はできますが、こちらは画面外へ繋がる高さも変えられるのと1タイルでどんな高さにも変えられます。

※Houseファイルを直接書き換えます。実行前には必ずバックアップを取ってください。

使用するソフトは、前回と同じ iffPencil2、あとExcelが必要です。
マクロ入りのExcelシートはこちら。
Sims1_HeightEdit.zip(26kB)


edit_game1.jpg
さて、実際に書き換えてみましょう。今回はこちらの5番Lotに犠牲になってもらいます。iffPencil2でHouse**.iff を開くまでは例によって割愛。

export1.jpg
開いたら、左のリストからArryを選択、右の #0:"altitude" を右クリックして、Exportを選びます。

export2.jpg
ここで、上のラジオボタンの「データのみエクスポート」を選んで保存します。
これでExcelで読み込むためのデータが保存されました。



さて、ここからは、Excelでの作業になります。
excel1.jpg
ダウンロードしたExcelシートを開くと、シートの右側にボタンがあります。見えないときは最大化とか横にスクロールとかして下さい。

excel2.jpg
"LoadMap"ボタンで先ほど保存した .bin ファイルを開くと、シートに数字がずらっと入ります。これが土地の標高をタイル単位で現した物になります。周りの赤い文字の部分は、通常は見えないマップ外のタイルになります。

excel3.jpg
右の "Draw 3DMap" で3Dのマップ(という名のグラフ)が表示されます。先ほど見た5番Lotと同じですね。まあ同じじゃないと困るんですが。

excel4.jpg
とりあえず、適当な台地を作ってみました。
高さは 0〜64 までになっているので適当に編集して、終わったら "Save" ボタンで .bin ファイルを作成します。編集中のシートを保存しておきたい時は、Excelの方で保存しておいてください。



出来上がった .bin を元の House**.iff にインポートするために、再びiffPencil2に戻ります。
import1.jpg
先ほどと同じ様に、左でArryを選択、右の窓で右クリック→Importを選択します。

import2.jpgimport3.jpg
同じくデータのみをインポート、インポート先は元からある "altitude" を上書きするように入力します。ここで、"altitude"のスペルを間違わないようにしてください。

import4.jpg
データを上書きするけどいいか、って警告が出るのでOKで上書きしたら、House**.iffを保存して終わりです。ゲームを起動する前にiffPencil2は終了させておいてください。iffPencil2で開いたままだとゲーム中の保存に失敗するので、忘れて建築とかすると泣きます。



edit_game2.jpgedit_game3.jpg
さて、こちらが書き換えたLotです。今回は急な台地を作ってみました。ゲーム上で整地するのと違って、1タイルでどんな高さにも変えられます。
見てわかると思いますが、台地に道路のタイルが被っていました… 斜めの地面に置けないものも無理やり置いた状態にできますが、逆に撤去も出来なくなったりします。皆さんはこんな失敗をしないように!

edit_game4.jpg
しょうがないので、前回の方法で一旦平らにして撤去、もう一度インポートだけして直しましたw
台地というより崖…いや洗濯板…?

大体このような感じで自分の好きな地形が作れます。まあ、ここまでして整地がしたい、という人は中々居ないと思いますが。


(SimPeople)地形を編集してみよう -取りあえず平らにするだけ編-

前回、既存のマップの大きさを変える方法を書きましたが、マップの端に治せない隙間が残ってしまいました。
そこで、取りあえずマップ全体を平らにする方法を試してみましょう。

※Houseファイルを直接書き換えます。実行前には必ずバックアップを取ってください。

使用するソフトは、前回と同じ iffPencil2 です。
書き換える House**.iff を開くまでは前回と同じなので割愛します。

flat1.jpgflat2.jpg
開いたら、左のリストからArryを選択、右の #0:"altitude" をダブルクリックで開きます。

HEXエディタが開くので、0x14番地から4バイトを "00 C0 00 00" に書き換えます。
あとはOKでHEXエディタを閉じて保存すれば終了です。やっぱり簡単ですね。

ここでは土地の高さを1番低くしていますが、下にも掘れる様にしたい時は、"00 C0 20 00" とでもして下さい。3バイト目の"20"が平らにするときの高さで、"20"だとちょうど中間の高さです。高さの範囲は10進数で 0〜64 で、16進数だと 0x00〜0x40 になります。

また、高さがあるのは土地だけで、その他のオブジェクトは土地の高さの上に乗っている様なので、オブジェクトが埋まったり浮いたりという事はこちらでは確認していません。

平らにする前平らにした後
これが平らにする前と後です。建物やオブジェクトはそのまま、平らになっています。
これでマップサイズを変えた時の段差も綺麗になります。

2014年08月05日

(SimPeople)広い土地が欲しい!その4 -すでにある家を広くする-

さて、今までは他の土地をコピーしたりして、新しい土地を確保してきましたが、既に家を建てている土地を広くしたい、というのが一番多いんではないでしょうか。
そこで、すでに使用中の土地を広くする方法を試してみましょう。

※Houseファイルを直接書き換えます。実行前には必ずバックアップを取ってください。

使用するソフトは iffPencil2 です。

Lot番号
まずは広げたいLotの番号を調べておきます。ご近所画面でカーソルを合わせた時に、左上に出る数字です。

そして、Maxis\SimPeople 内のご近所画面の番号のUserDataフォルダ→HousesフォルダにあるHouse**.iffをiffPencil2で開きます(**はLot番号)。

マップサイズ変更1
開いたら、左のリストからSIMIを選択、右の#1をダブルクリックで開きます。

マップサイズ変更2
HEXエディタが開くので、0x3A番地の値を0x40に書き換えます。これが最大値で、62x62のマップになります。上の画面では元の値が0x2Fですが、これは元のLotの広さなので、編集するLotによって変わります。
あとはOKでHEXエディタを閉じて保存すれば終了です。簡単ですね。

実は、元々Houseデータには最大サイズのマップが保存されていて、今書き換えた所でサイズを制限しているんです。なのでこの書き換えだけでシステム上の不具合が起きることはまずないです。

ではゲームに戻って開いてみましょう。

マップサイズ変更3マップサイズ変更4
確かにマップは大きくなっていますが、ゴミやら段差が出来てしまっています。これらを綺麗に片づけなければなりません。チートコマンドの "map_edit on" で編集できるようにして、せっせと片づけます。
"map_edit on"の時も、Shift+ドラッグ開始でまとめて解除できます。

マップサイズ変更5マップサイズ変更6
不要なタイルや水場を片づけて、平らにしたところです。残念ながら、マップ端の部分は高さがいじれないので、少し隙間が残っています。
マップをすべて平地にする方法もありますが、とりあえず今はこれで良しとしておいて下さい。

後は、PedPortalをマップ端に移動したり、CarPotalや郵便受け、ゴミ箱を好きな位置に移動、道路を引いたりすればマップの最大化は完了です。"map_edit" で道路などを編集不可に戻しておくといいでしょう。

(SimPeople)広い土地が欲しい!その3 -未使用Lotと必要なオブジェクト-

(15/01/23追記)
Lotに最低限必要なオブジェクトに電話線が抜けていたので追加しました。



さて、今回は最大サイズのLotの入手と必要なオブジェクトについてです。
注:今回の記事は、オールドタウンのLotについてです。スタジオタウンやバケーションでは、それ専用のオブジェクトが必要になります。

シムピープルには未使用のLotファイルがありますが、それが最大サイズのLotになっています。
「ならそれをコピーして使えばいいんじゃね?」とお思いでしょうが、本当に何もないLotなので、ゲームに必須のオブジェクトすらも設置されていません。そのままだと、新聞もお客さんも仕事の迎えもタクシーすらもやってこない陸の孤島になります。

Town画面Lot画面
まあ、まずは実際に見てみましょう。前回の方法で、1番Lotに未使用のHouse00.iffをコピーしてあります。ご近所画面ですでにはみ出していますが、開いてみると何もないことがわかります(実際には、表示されないオブジェクトもあるので見た目だけではわからないこともあります。このLotには本当に何もありません)。

ここから最低限必要なオブジェクトを設置していくわけですが、その為に以下のオブジェクトを用意してください。

・みみしむさんの購入用MailBoxとTrashcan
※ページ下「オブジェクト・スキン」→ページ右「置き換えパッチ」から

・見えて買えるCarPortalとPedPortal(visiblePortal.zip)

・電話線を設置するオブジェクト(kap_PhoneLine_object.zip)

以上が最低限必要になるオブジェクトです。郵便受けとゴミ箱は解説は不要でしょう。
CarPortalは車が来る時の目印と仕事やスクールバスのコントロールを、PedPortalは歩いてくるNPCの目印・コントロールをしています。

電話線が無いと、電話を設置してもかかってこなかったり、友人やメイドを呼ぶことが出来なくなります。何故かタクシーを呼べたりはしますが。
電話線はLotの外側の見えない所にあるので、上記のオブジェクトを置くことで有無のチェック、設置を行うことが出来ます。


portalサンプル
こちらは上記のオブジェクトを導入した上で、既存の適当なLotを開いたところです。車が止まる所にあるのがCarPortalで、歩道のマップ端にある四角がPedPortalです。導入後に実際に確認してみるのをお勧めします。

CarPortalは設置した場所と向きに車がワープしてきて、そこから画面外まで平らな地面が必要です。ワープしてくるので、来るための地面は必要ありません。2階の床でもマップ端までつながっていればちゃんと出発します。
これをうまく使えば、マップの真ん中に道路を通したり、玄関前のロータリーの先に乗り場を作って道路を節約したりも出来ます。

2階CarPortal12階CarPortal2
2階に設置したCarPortal。これでも問題ありません。

PedPortalはNPCがやってきてほしい場所に設置します。Portalから突然現れる/消えるので、マップ端に設置するのがいいでしょう。複数設置することができますし、たいていのマップには複数あると思います。
勿論マップ端じゃなくても、魔方陣的なラグをひいてそこから出入り、でも構いません。

最後に「電話線を引く壺」ですが、これはどこでもいいからLot内に置けばいいです。
置いた時点で電話線があるかどうかを調べて表示してくれます。なければ自動で引いてくれます。
このオブジェクトは電話線のチェックと設置をするだけで、電話線自体とは別ですので、メッセージを見た後は捨ててしまって構いません。放っておいても勝手に消えます。

これら5つ(郵便受け・ゴミ箱・CarPortal・PedPortal・電話線)を設置すれば、通常のマップと同じ様にプレイすることができます。
これ以外の必要なオブジェクトは、マップに入った時点でシステムが自動的に設置するはずです。

※CarPortal・PedPortalの購入・設置には、チートコマンドで "move_objects on" を実行する必要があります。

(SimPeople)広い土地が欲しい!その2 -広いLotをコピーして使う-

さて、既存のLotは使える土地が限られるので、広いLotをコピーして使用してみました。
※以下の方法は、ゲームの動作には問題ありませんが、近所画面が多少見苦しくなるので注意。

下準備として、置き換え先のLotに住人が住んでいると色々面倒なことになるので、必ず立ち退きさせておくこと。また、置き換える前のデータ(UserData*)を念のためバックアップしておいて下さい。

Lotのコピー
基本的には、使用している近所画面(ゲーム画面左上の番号)のフォルダを開いて、Houseファイルをコピー・リネームするだけです。2番の近所なら、SimPeople\UserData2\Houses にあるファイルを入れ替えます。
例えば、House01.iffを削除して、代わりにHouse70.iffをコピー・House01.iffにリネームすると、70番Lotの土地と家が1番Lotにコピーされます。念の為に、一度整地してから利用しましょう。ただ、近所画面の縮小表示でサイズが合わなくなるので、はみ出したりで美しくありません。これはしょうがないので諦めてください。
また、これでコピーされるのは土地建物と設置してあるものだけで、住人などはコピーや移動はしません。

コピー後Townコピー後Lot
実際にコピーするとこんな感じに。右は整地後のLotです。

さて、上記でも例に挙げましたが、普通に使うなら70番Lot(オールドタウンのペット街)が一番楽で便利です。
シムピープルで動作する最大の広さは62x62なので、58x58だと一回り狭いですが、必要なオブジェクトがそろっているので手間がかかりませんし、道路も1方向にしかないので使える土地も広めです。

あと4マスだけでも広げたい、道路が邪魔なので狭くしたい、などの時は、次回辺りにその方法を解説します。

(SimPeople)広い土地が欲しい!その1 -既存の土地で何とかする-

さて、以前ちらっと大家族プレイをしてみたと書きましたが、家族が多いと当然土地が足りなくなります。そこで、なるべく大きなLotを探してみました。上位のみですが表にしてあります。

広さLot番号名称備考
62x62
0・11
 -
未使用Houseファイル
58x58
70
73
ペット街
マッカーサースクエア
オールドタウン既存物件
54x54
1・2
 -
空き地
52x52
3
58
 -
シムセントラル公園
空き地
オールドタウン既存物件
50x50
5 -空き地
48x48
4・8・10
他既存物件多数
 -
空き地
既存物件多数

通常使用できるLotで一番広いのは、オールドタウンの既存物件ですね。広いだけじゃなく、平地なので利用できる面積もあります。
1・2・3番Lotも結構大きいですが、土地の隅に高低差があるので多少利用面積は減ります。

土地を広く利用したい時は、チートコマンドの"map_edit on/off"で利用できる土地を広げるのが有効です。それでも、既存物件を残すのなら、大規模建築可能な土地は意外とありません。

デフォルトのままでプレイするなら、オールドタウンの物件を壊して利用するしかないですね。