Zunächst:
Da ich nicht hier auf alle Grundlagen eingehen kann solltet ihr euch als „Einführung“ zunächst den offiziellen Extension - Bausatz runterladen. Diesen findet ihr hier:
http://www.rotobee.com/singles2005/images/Extensions.zip
Dieser enthält die wichtigsten Grundlagen und eine kurze Anleitung.
Weitere Hinweise findet ihr in diesem Thread:
http://www.simsforum.de/vbulletin/showthread.php?t=50862
Wenn ihr die Farbe (Texturen) eurer Objekte ändern möchtet, empfehle ich euch die kostenlosen DDS-Utilities und den DDS-Viewer von NVIDIA. Diese Programme findet ihr hier:
http://developer.nvidia.com/object/nv_texture_tools.html
Den fertigen Sex-Tisch könnt ihr euch zum Nachvollziehen hier runterladen:
http://rapidshare.de/files/4380885/AvVCoffee4Sex.zip.html
Nun geht es los:
Als erstes erstellt ihr euch einen Ordner für euer Objekt. Als Ordnernamen wählt ihr passender weise den Vertriebsnamen eures Objektes. In diesem Fall also „AvVCoffee4Sex“.
In diesem Ordner erstellt ihr folgende Unterordner: GameObject, GuiTexture, Mesh, Script und Texture. Der Ordner Texture wird nur benötigt, wenn ihr das Objekt umfärben wollt. Wenn ihr vorhandene Funktionen ändern wollt benötigt ihr noch einen Unterordner „StateMachine“
Das Aussehen:
Nun startet ihr den DDS-Viewer und öffnet das Singles2\GuiTexture Verzeichnis. Sucht das Objekt, dass ihr verändern wollt. In diesem Fall lautet der Dateiname „MenuIconcoffeetableDesign.dds“ Da ihr ja auch ein Kaufmenüsymbol für euer Objekt benötigt, könnt ihr gleich diese Datei in euer GuiTexture Verzeichnis kopieren. Benennt eure Kopie in euren Objektnamen um. Das Präfix „MenuIcon“ müsst ihr aber belassen! In diesem Fall heißt der neue Name also: „MenuIconAvVCoffee4Sex.dds“. Von dem Dateinamen merkt ihr euch das „coffeetableDesign“. Da die Texture ohne passenden Mesh ( = eigentliches 3D-Objekt) euch nichts nutzt, such ihr im Ordner Mesh nach der passenden rms-Datei. In diesem Fall also „coffeetableDesign.rms“. Diese Datei kopiert ihr in den Meshordner eures Objektes und benennt die Kopie passend um. Also „AvVCoffee4Sex.rms“
Nur nötig wenn ihr die Farbe ändern wollt:
Wenn ihr die Farbe des Objektes ändern wollt, benötigt ihr noch den Namen der Original-Textur. Dieser ist etwas schwieriger zu finden. Zur not könnt ihr die Datei „coffeetableDesign.rms“ zunächst mit einem normalen Editor öffnen. Besser und wenn ihr das Objekt umfärben wollt auch nötig, ist ein Hex-Editor. In der geöffneten Datei sucht ihr nach: „Texture“ . Kurz dahinter findet ihr den Namen der Textur. In diesem Fall: „WoodFloor5“. Sucht euch die entsprechende Textur „WoodFloor5.dds“ aus den Texturen-Ordner und kopiert sie in den Unterordner Texture eures Objektes. Da ihr die „coffeetableDesign.rms“ grade im Hex-Editor geöffnet habt, tragt ihr dor direkt einen neuen TexturNamen ein. In diesem Fall: „Coffee4Sex“.
Wichtig: Der alte und der neue TexturName müssen GLEICHLANG sein! Und ihr dürft nur einen Hexeditor benutzen! Ansonsten wird die Mesh-Datei zerstört!
Nun geht ihr ins Texturverzeichnis euren Objektes und benennt die Textur passend um. In diesem Fall „Coffee4Sex.dds“
Was ihr bis jetzt gemacht habt, bezieht sich alles auf das Aussehen eures Objektes. Mit Hilfe der DDS-Utilities könnt ihr die Textur und das MenüIcon euren Vorstellungen anpassen. Anleitung dazu liegen den DDS-Utilities bei. Bei der Erstellung der veränderten Textur solltet ihr zunächst die vorhandene im DDS-Viewer öffnen. Dort könnt ihr die Größe der Textur sehen, wie viele MipMaps sie hat und welches Unterformat (DXT1 DXT3 DXT5). Versucht dies bei euren Modifikationen zu übernehmen. Zwingend nötig ist dies jedoch nicht!.
Nun geht es an die Funktionen eures Objektes.
Normalerweise sucht ihr die pssenden GameObject Dateien raus. In diesem Fall wäre das „coffeetableDesign.ago“ und wenn ihr Funktionern ändern wollt noch die passende Datei aus dem Ordner StateMachine. In diesem Fall tun wir jedoch etwas anderes! Der Tisch soll ja die Funktionen eines Doppelbettes haben! Praktischerweise nehmen wir also aus dem Ordner GameObjekt die ago-Datei eines Doppelbettes! Welches Doppelbett ihr nehmt ist egal! Kopiert sie in euren GameOBjekt-Ordner und benennt sie passend zu eurem Objekt um. In diesem Fall also: „AvVCoffee4Sex.ago“. Öffnet eure Kopie mit einem Editor. Im Abschnitt „meshResourceNameArray“ tragt ihr den neuen Mesh-Namen „AvVCoffee4Sex“ ein (so hattet ihr die rms-Datei bennant – die Endung „.rms“ entfällt immer!). Unter price = tragt ihr euren Wunschpreis ein.
Die folgenden Änderungen sind nur nötig, wenn ihr auf einem nicht benutzten Tisch keine Bettdecken sehen wollt!
Bei den Betten gibt es eine gewisse Ordnung. Bett = bed bildet die Hauptgruppe, danach die Unterkategorie Doppelbett = doublebed und dann das jeweilige Objekt. Da die Bettdecken für alle Doppelbetten gelten bilden und wir das Original nicht verändern wollen, bilden wir eine eigene neue Untergruppe: „coffeeSex“. Um die Grundfunktionen des Doppelbettes zu haben, kopieren wir die original „doubleBed.ago“ aus dem Ordner GameObject in den GameObject-Ordners unseren Objektes und benennen sie in „coffeeSex.ago“ um. Den Verweis auf diese Datei tragen wir in unserer „AvVCoffee4Sex.ago“ unter dem Punkt „parentResource =“ ein. Also in diesem Fall : „parentResource = doubleBed“ in „parentResource = coffeeSex“ ändern. Nun öffnen wir unsere “coffeeSex.ago” um die Bettdecken im unbenutzten Zustand verschwinden zu lassen. Dazu geben wir in der Rubrik „defaultChildren“ (das sind hier die Bettdecken = blanket) einen anderen offset ein. Der offset bestimmt die normale Bettdeckenposition in den X, Y und Z Koordinaten. Wir lassen die Bettdecken im Keller verschwinden in dem wir als Z-Koordinate -2 wählen (damit liegen sie unterhalb des Fußbodens und sind somit unsichtbar).
Anmerkung:
Die Bettdecken sind im unbenutzten Zustand "unsichtbar". Beim Sex etc. werden die Decken animiert und bekommen neue Positionen! Da der Kaffeetisch aber wie ein "normales" Doppelbett ist, könnt ihr die Decken (wenn ihr Steffis Booster oder R"K habt) genau wie bei jedem anderen Doppelbett per Klick ausblenden! Da der Tisch sonst als "Doppelbett" ständig Bettdecken hätte ließ ich sie bei meinem Demo-Objekt im Keller verschwinden.
So, nun haben wir auch alle Funktionen der Doppelbetten. Da wir keine weiteren Änderungen brauchen, benötigen wir in diesem Fall auch keinen Ordner StateMachine und die entsprechenden luas. Weitere Vorteil: Da wir unseren Tisch nur als Doppelbett deklariert haben, gelten für ihn auch alle möglichen Zusatzfunktionen von Steffi und R2K! Und er ist zu allen kompatibel!
Das Einbinden ins Spiel:
Nun gilt es das neue Objekt ins Spiel zu bekommen. Dazu dient der Ordner „Script“. Dieser enthält immer eine Textdatei namens „init.lua“ zur Initialisierung euren Objectes. Der Inhalt besteht aus einer Zeile in diesem Fall:
addGameObject("StandardGO", "AvVCoffee4Sex", BUY_BEDS);
AvVCoffee4Sex ist euer Objektname, BUY_BEDS der Ort wo ihr das Objekt kaufen könnt. Einer Auflistung der Konstanten für die Kauforte findet ihr beim Extension-Bausatz.
Jetzt fehlt nur noch die Datei „info2.dat“ die sich direkt im Hauptordner euren Objektes befinden sollte. In ihr könnt ihr den Namen und eine Beschreibung euren Objektes ablegen. Auf Wunsch mehrsprachig.
Und fertig ist euer Objekt!