präsentiert
Map Buyable Objects
Hi,
Wie der Name schon erahnen läßt handelt es sich bei diesem Mod um einen Mod mit dem man zusätzliche Objekte auf einer Map kaufen kann. Die Einstellungen werden alle im GE bzw einer zusätzlichen XML Datei gemacht.
Funktionen:
- Man kann Objekte kaufen und gleichzeitig andere verkaufen. Auch nur ein Kauf oder Verkauf ist möglich. Je nachdem wie es der Mapper einbaut.
- Frei einstellbare Texte, die aus einer XML geladen werden.
- Speicherung des Status, ob das Objekt bereits gekauft/verkauft wurde.
Es gibt 2 Skripte innerhalb des Mods, einmal das Skript was für das kaufen/verkaufen zuständig ist und ein 2. welches einen Icon setzt, ähnlich den Standart Helpicons. Nur sind diese hier mit einem € Zeichen versehen.
[infobox]MapBuyableObject: Spoiler klicken um alles über die Funktionen zu erfahren[/infobox]
[expander]
Features der MapBuyableObjects:
- Buy_Objects:: Gibt den Index an zum Objekt welches gekauft werden soll
- Buy_Triggers: Gibt den Index zu einem Trigger an, wenn ein Trigger gekauft werden soll.
- Delete_Objects: Gibt den Index an zu dem Object welches beim kaufen, verkauft werden soll.
- Delete_Triggers: Gibt den Index zu einem Trigger an, der verkauft werden soll, wenn ein Trigger verkauft werden soll.
- Object_Ident_Icon: Identifiziert den Icon der zum Trigger gehört, welcher dann verschwinden soll, wenn man ein Objekt gekauft hat.
- SoundFile: dort kann ein freier Sound angegeben werden, der Pfad zum Sound bezieht sich auf den Namen der Map.zip im Mods Ordner (SampleModMap/map/sounds/waterfall.wav und der WasserfallSound ertönt)
- Sound_Allowed: kann man anhaken, wenn beim erfolgreichen Kauf ein Sound gespielt werden soll. Hakt man es nicht an, wird kein Sound gespielt
- Sound_is_01 Sound_is_02 Sound_is_03: Hier stehen 3 Sounds zur Auswahl, die in der Zip liegen, kann man anhaken und der jeweilige Sound wird gespielt. Dann darf kein SoundFile oben angegeben sein.
- TextName: Identifiziert den Text in der XML, welcher beim betreten des Triggers angezeigt werden soll
- xmlFilePath: Hier muss man den Pfad angeben, wo die XML mit den Texten liegt, auch wieder zum Namen der Map.zip im ModsOrdner
[/expander]
[infobox]XML Texte: Spoiler klicken um alles über die XML Texte zu erfahren, die Ingame angezeigt werden[/infobox]
[expander]
Möglichkeiten in der XML zum Aufruf der Texte:
Wie erwähnt werden die Texte aus einer extra XML geladen. somit seit ihr frei im Einbau, was an Texten angezeigt werden soll beim betreten des Triggers. Hier bei planet gab es erst ein Thema wo es auch um Texte ging, dort hat bassaddict einen wichtigen Punkt angesprochen, nämlich die internationale Verständlichkeit. Sprich auch andere unterstützte Sprachen. Das geht wunderbar in der Moddesc der Map, dann müsste man das Skript aber in die Map als extraSource eintragen. Finde ich ja immer nicht so gut, wegen der versionen, wenn man eine Neue Version kommt, oder aber auch, da diese Skripte meiste einfach aus anderen Maps "ausgebaut" werden und keine richtigen DLs erfolgen. Zudem könnte so jeder am Skript rumbasteln. Wenn es dann zu Fehlern kommt wird immer schnell der Ersteller dafür "verantwortlich" gemacht.
Aber egal, internationale verständlichkeit war der Punkt. In der XML könnt ihr 3 Sprachen angeben, Deutsch, Französisch oder Englisch. Hier geht es um die Sprache in der der LS installiert ist, dementsprechend wird der "Sprachen"text geladen. Ob ihr die texte nun komplett angebt, oder nicht, ist eure Sache, aber ich decke es so mit ab.
In der XML werden unterschiedliche Eintragungen gemacht, zum einen die Überschrift, also z.b euer Objekt Name. Und der Text der Beschreibung. Hier könnt ihr einen kleinen FantasieText angeben, der sich auf euer neues Objekt bezieht. Dazu habe ich auch gleich im Bild mal ein paar Beispiele. Die Beschreibung wird in Zeilen angegeben, bzw die Anzahl der zeilen muss vorher definiert werden.
Die kompletten Möglichkeiten werdet ihr dann in einer ReadMe finden.. zumindest einen Teil davon...;)!
Beispiel eines textes:
Hier kann man den angesprochenen Text aus dem GE sehen, war im Beispiel: MapBuyableObject01 dieser wird jetzt entsprechend geladen. Wie ihr diesen Namen nennt, ist im Prinzip vollkommen egal, wichtig ist nur das er im GE und der XML gleich ist. Wie das ganze dann Ingame aussehen kann, zeige ich euch an einem sehr drastischem Beispiel...:D!
Hier handelt es sich um die gleichen Texte, lediglich in der XML wurden einige Einträge ergänzt...;)!
Keine Angst, die Textfarbe im ersten Bild ist nicht der Standart...es ist das 2.Bild was den Standart wiederspiegelt. Sollte euch lediglich zeigen wie frei ihr in den Einstellungen sein könntet...!
[/expander]
[infobox]HelpIcon: Spoiler klicken um alles über die Icons zu erfahren[/infobox]
[expander]
Features des Icons:
- Icon_Ident_Object: Identifiziert das "buyableObject" wird benötigt um den Icon unsichtbar zu schalten.
- Icon_Jump: Kann angehakt werden, ist es angehakt dann springt der Icon, bekannt aus dem LS11
- Icon_Rotate: Kann angehakt werden, ist es angehakt, dreht sich der Icon, wie die Standart HelpIcons auch.
- beides kann angehakt werden, muss es aber nicht, dann steht der Icon einfach still.
- Der Icon wird im GE als "Kind" in das buyableObject eingebaut, es ist darin ein Würfel enthalten, der aber keine Funktion hat, sondern lediglich zur platzierung dient.
Stellt man es auf 0 0 0, ist es mittig im Trigger der MapBuyableObjects. - Das Skript basiert auf dem aus LS11 bekannten InfoSpotTrigger und wurde lediglich etwas umgebaut.
- Der Icon ist im GE nicht sichtbar, und wird erst beim Laden der Map aus der Zip heraus gelesen und eingebaut.
[/expander]
[infobox]Beispiele zum Einbau in die Map, ohne Bilder, nur Gedanken[/infobox]
[expander]
Hier mal ein paar Beispiele die ohne Probleme unsetzbar sind, um eure Fanstasie schonmal anzuregen wie ihr es einbauen könnt.
- Die Brücke: Ihr könntet eure Map in 2 Teile teilen, in der Mitte ein großer Fluss, über den man nicht rüberkommt. Nun platziert ihr an einer Stelle eine Brücke, gebt den Index an(zum Kaufen) und legt einen text an.
In Game sieht das ganze dann so aus, die Brücke ist nicht da, betritt man den Trigger, so kommt euer Text, z.b: "Wollen sie eine Brücke kaufen um auf die andere Seite des Flusses zu kommen?" Entscheidet man sich für ja, so kann der Player nun mit seinem Schlepper über die Brücke fahren um an die großen Felder zu kommen.
Bei dem beispiel ist auch denkbar, das es am Anfang eine kaputte Brücke ist, die sichtbar ist, wenn man den Trigger betritt, so kommt der Text: "Wollen sie die Brücke reparieren lassen?" - Der Hof: Man hat zum Start auf der Map nur einen kleinen Hof, wo nur wenig platz ist, ausserhalb des Dorfer ist ein großer Hof aufgebaut, der nicht sichtbar ist, wenn man ihn kauft, wird er sichtbar. Es können dabei auch die Trigger neu gesetzt werden, somit kann man den Platz vorher eventuell nutzen um dort Grass zu haben (wobei das grass ja immer wächst, also wäre es hinterher überall auf dem hof sichtbar). Hat man nun den neuen Hof gekauft, kann man auf den alten Hof im Dorf gehen und diesen Verkaufen, eventuell mit dem Text: "Wollen sie ihren Hof verkaufen, es wird dann alles abgerissen um neue Häuser für unsere Einwohner zu bauen. Für ihr Grundstück würden wir ihnen einen Preis von (z.b) 100000€ zahlen.".
In diesem Fall kommt ein neues Feature zum Vorschein, der Preis der bei jedem Objekt angegeben werden muss, kann auch negative sein, somit wird dem Spieler das Geld gutgeschrieben...^^!
[/expander]
So, nun auch mal ein paar Bilder. Zum einen mal was den Preis angeht. Wir wissen, der Preis kann auch negative sein, Beispiel:
Zu sehen ist, dem Spieler werden die 120000€ gutgeschrieben.
Ein weiteres Feature ist, man kann auch ein maximalen Kontostand nach dem Kauf erlauben. Zum Beipiel, bei einer großen Halle, die viel Kostet, 1000000€, kann man angeben das der Kontostand nach dem Kauf einen bestimmten Wert haben muss, also ein Maximales Minus was erlaubt ist, das der Player nach dem Kauf maximal -100000€ haben darf. Und somit beim Kauf mindestens 900000€ auf dem Konto haben muss. Der Wert kann auch Plus sein, im Beispiel das er nach dem Kauf noch 200000€ haben muss, so muss er zum Zeitpnkt des Kaufs also 1200000€ auf dem Konto haben. Dafür auch mal ein Beispiel was in den Plus bereich geht.
Preis im Beispiel ist 12216€
Kontostand nach dem Kauf, soll mindestens 100000€ sein. Hatte ich nicht, also kommt eine Warnung, mit dem Kontostand den man braucht um das Objekt zu kaufen.
Und ein Beispiel für den Minus Bereich. Preis der Silos war 200000€, maximal ins Minus nach kauf ist auf -20000€ gestellt:
Aber nun mal ein paar Sichbare Beispiel, was man machen kann. Mit Texten und Preisen und Einbaumöglichkeiten. Tests wurden auf der SampleModMap durchgeführt, es wurden lediglich die Gebäude neu platziert, Lest euch einfach die Texte durch.
[infobox]Hofsilos zum Kaufen[/infobox]
Diese wurden umgebaut, samt Fülltriggern, der Abkipptrigger wurde durch einen Verkaufstrigger ersetzt. Somit würde das Getreide automatisch verkauft. Siehe Bilder, Kontostand und Füllstand der Silos beim Abkippen.
Wer sich auskennt kann hier im Hintergrund erkennen, das da wo die Silos normal stehen keinerlei Collison sichtbar ist, ausser die an der Abkippstelle, diese ist von einem Verkaufstrigger, wie man in den anderen Bildern gut sehen kann.
Platz der Silos ist leer.
Anstatt auf Kaufen, nur auf Vorschau gedrückt:
Dann Getreide abkippen, man beachte den Füllstand der Silos, bleibt unverändert, aber der Kontostand wird mehr.
Dann doch entschieden die Silos zu kaufen...:)
Und nochmal abkippen...Silostand ist zu beachten, denn der Trigger ist jetzt da, der Verkaufstrigger ist gelöscht worden.
Und auch gleich mal aufladen testen...ihr wisst bescheid, Silostand beachten
[infobox]Und nochmal am Beispiel der Tanke[/infobox]
[infobox]Und ein Beispiel mit 2 Triggern, einer wird verkauft der andere kommt dazu[/infobox]
[expander]
Verschiedene Textlayouts die sich einfach über die XML erzeugen lassen, man beachte die Schriftgröße, Fettschrift, Positionen der Texte und den Abstand der Texte zur Überschrift.
[/expander]
So, das war es dann auch erstmal von mir... über Lob, Kritik, Anregungen würde ich mich freuen.
Um nochmal klarzustellen, denke mal einige sind jetzt ganz verwirrt. Ihr kopiert das Skript in den Mods Ordner und alles was auf den Bildern zu sehen ist wird im GE beim Einbau bzw in der XML eingestellt. Meine Bilder dienen lediglich als Beispiel und verpflichten euch in keinster Weise das ganze so einzubauen...^^!