Map Buyable Objects

  • Hi.


    Irgendwie ist dieses Projekt total an mir vorbei gegangen, bis ich es jetzt auf der Vogelsberg 2013 gesehen habe. Tolle Sache! :thumbsup:


    Aber eine Frage habe ich, falls die Beschreibung der XML für die Texte im ersten Post noch stimmt:
    Warum wurde der Description-Text so umständlich mit einzelnen Zeilen implementiert? Wäre das nicht mit einem CDATA und im Script dann per setTextWrapWidth zu lösen gewesen?



    Gruß
    webalizer

  • Hi,
    erstmal Danke euch beiden für euer kleines Feedback und Lob.


    webalizer:


    Die XML sieht jetzt so aus: http://www.mod-portal.com/foru…&postID=105858#post105858 gegenüber dem ersten Post hier wurde die Nummerierung der Zeilen weggelassen und man fügt nur noch die Zeilen untereinander ein, egal wieviele. Dazu wurde mir wegen der Fehleranfälligkeit geraten, siehe hier: http://planet-ls.de/board/inde…age=Thread&threadID=18024


    Und ganz ehrlich, ich habe keine Ahnung wie das mit einem CDATA funktionieren würde, also das ausslesen aus der XML, ob das ganz normal geht wie ein String oder ob ich die CDATA anders auslesen muss. Zwischendurch hatte ich auch mal vor den Text innerhalb der LUA an das "Layout" anzupassen, also was die Position und eventuell die Größe der Schrift angeht. Das das ganze scheinbar ziemlich leicht mit dem setTextWrapWidth gehen würde, habe ich erst vor ein paar Wochen hier erfahren: http://planet-ls.de/board/inde…&postID=250079#post250079
    Da war es für mich schon zu spät.
    Ich kann auch nicht sagen ob man nun mit dem CDATA die gleichen Möglichkeiten hat, was die Schriftgröße angeht oder auch Leerzeilen, dafür habe ich mich damit auch nie genug beschäftigt.


    Ich danke die für deinen Hinweis und werde mal versuchen ob ich da eventuell noch etwas umbauen kann, bzw die Position innerhalb des Layouts auch mit setTextWrapWidth hinbekomme. Das ganze muss ich dann natürlich so umsetzen das die aktuelle Version trotzdem weiter ausgelesen werden kann.


    Gruß
    Bluebaby210

  • So dann möchte ich auch hier mal die MBO loben den das ist eine super idee was sich da alles für möglichkeiten ergeben um die Höfe mit Zukaufen realer aufzubauen.
    Würde das auch mit der Futtermischstation gehen die ja Scripte und so weiter drin hat Bluebaby oder mit ganzen Ställen?


    Grüße JS39

  • Danke.


    Ohne jetzt zu wissen wie die Mischstation ausfgebaut ist, würde ich prinzipiell sagen ja. Im Skript werden nur Trigger etwas anders behandelt wie z.B Gebäude (static). Da ich aber zum Identifizieren den Index brauche, kommt es auf den Aufbau des Objektes an. Wenn du z.b bei einem Gebäude (Kartoffel ladeband) die Indexe auch angeben musst (Triggerindex lyingPS usw) ist es kein Problem. Das Objekt einfach auseinandernehmen und in die passende TG im MBO einfügen, indexe im MBO eintragen und fertig bist du.


    Bei Ställen ist es gar kein Problem, hier kannst du auch einen Stufenweise ausbau einbauen. Zum Start hast du nur einen kleinen Stall(vielleicht sogar im Trigger ohne Mischfutter), dann kannst du einen größeren Kaufen, wenn du den hast dann einen ganz großen, bei dem auch Mischfutter im Trigger abzuladen geht. Vorher kannst du vielleicht noch das Silo kaufen.


    Ich freue mich jedenfalls auf das was man in zukunft (hoffentlich) an Ideen der Umsetzung zu sehen bekommt.

  • Danke für deinen Selbstversuch. Und ein Schönes Beispiel hast du da zusammengebaut, genau soetwas habe ich mir immer vorgestellt, was man damit umsetzen kann.


    Meine Frage dazu ist nun, wie hast du es eingebaut?
    Hast du es dir an einem Beispiel aus der Vogelsberg Map exportiert und bei dir eingebaut und selber getestet, oder hast du es mit meinem TUT bzw der Docu innerhalb der zip eingebaut?
    Wenn mit TUT oder Docu, dann da die Frage ob du es leicht verstanden hast, oder ob man ggf. einige Punkte besser erklären muss?

  • Ich habe mir den Samplemod runterrladen und mich dann ins Tut eingelesen. Das ist soweit ganz gut geschrieben. Es fehlt jedoch die passende Beschreibung zu der Translate TG (oder bin ich blind?)
    Dann habe ich zuerst alles skripttechnische implementiert und danach einfach drauf losgebaut, nach dem Motto "aus Fehlern lernt man". Zwischendurch habe ich immerwieder ins das Tut geschaut. Es hat nicht gleich alles auf Anhieb geklappt, das lag aber eher an mir.
    Eine Sache habe ich noch speziell zur Umsetzung einer BGA. Bekanntlich ist das ja eher eine komplexe Angelegenheit mit einer Haupt TG, wo die vers. Trigger usw in den Attributen zugewiesen werden. Mir war jetzt nicht klar, wie ich die ganze Geshichte zerlege, um es passend und vorallem funktionierend auf die Buyableobjects und die Buyabletriggers TG aufteile. Ich bin jetzt einfach so vorgegangen, dass ich die komplette BGA TG in die Buyableobjects TG gepackt habe, was, wenn ich das richtig verstanden habe, nicht Sinn der Sache ist, auch wenn es einigermaßen im Falle einer Standard BGA funktioniert. Ich hab momentan noch Probleme, da ein paar (vers. Gülletrigger) als graue Box dargestellt werden. Das ist auch auf dem Bild zu erahnen.
    Nachdem man ein paar BuyableObjects verbaut hat, geht alles leicht und schnell von der Hand. Nach den ersten Versuchen bestätigt sich der erste Eindruck :thumbsup:

  • Danke für das Feedback.
    Die fehlende Erklärung zu der TG Translate Obejcts wurde hinzugefügt, sowie auch das erstellen einer Animation mit den MapBuyableObject, siehe Windräder in der Vogelsberg: http://www.mod-portal.com/foru…&postID=107713#post107713


    Richtig, die BGA in eine TG zu kopieren ist nicht der Sinn der Sache, weil normale Objekte (Hallen, Häuser usw) nur unsichtbar werden und die Colli wird rausgenommen, bei Triggern geht das nicht, stellst du einen Trigger unsichtbar so kannst du noch immer darin abkippen. Trigger werden im Skript unter die Erde gesetzt.
    Ich werde mir die BGA die Tage mal ansehen und dir an einem Beispiel fertig machen wie du die Ingame einbauen kannst um sie dann zu kaufen.


    Hier könnte man wohl auch eine doppelte Funktion erstellen, also z.B kannst du als erstes nur die Silos kaufen und vielleicht einige Gebäude, wenn du die hast, dann erst kannst du den Bunker dazu kaufen.
    Ich werde mal sehen ob ich da beide Beispiele zur Umsetzung fertig bekomme.

  • Hi,


    Also die BGA komplett so zu kaufen wie sie in der Standartmap ist, das ist kein Problem. Habe ich dir jetzt mal zusammengebaut, brauchst du nur zu importieren und dann platzieren, Indexe sind alle angegeben. Buyable Trigger mit Icon ist auch drin. Nur noch den Pfad zu deiner XML anpassen und halt die Nummer des Objektes und beim Icon anpassen. Textname in der XML ist jetzt schlicht und einfach "BGA".



    Hier im ersten Bild kannst du sehen das ich z.B die SilagePlane und auch die Moving Planes nicht mit aufnehme. Braucht man ja auch nicht wenn man den TipTrigger des Silos und den Interaction Trigger und auch den Compacting Trigger angibt, somit kommen keine Meldungen. Dann die BGA gekauft und einen Abkippversuch gemacht.


    Hier kannst du dir die StandartBGA zum Einbau einfach runterladen, Texturen sind mit drin und sind die gleichen wie in der SampleModMap, mit Pfaden wie in der SampleModMap: http://www.file-upload.net/download-8321690/BGA.zip.html


    Ich habe bei der BGA auch gleich einen kleinen "Fehler" in meinem Skript entdeckt, leider...Nunja, jetzt ist es zu Spät. "Fehler" ist folgender, gibt man als Index ein Shape an, also ein kleines Object direkt. So wird dies nicht erkannt. Im Skript erfasse ich den Index und lese dann alle Unterobjekte aus, aber den Index selber nehme ich nicht auf. Da im Beispiel, die Objekte in eine TG kommen, brauchte ich das nicht, wozu eine TG aufnehmen, wenn ich eh alle Unterobjekte brauche...naja, jetzt weiß ich das ich den Index selber doch aufnehmen sollte. Aber können wir trotzdem alles einbauen, wenn man das Shape einfach in eine TG packt und den Index zur TG angibt. Etwas umständlich aber ich kann es jetzt leider nicht mehr rückgänig machen... :( !
    Einbau erfolgt bei der BGA wie folgt.


    Einfach die BGA mit dem onCreate in den BuyableTrigger einfügen, da kann man alle anderen TGs des MBO löschen, ausser halt die TG mit dem Icon.
    Somit funzt die BGA schonmal, da die Indexe in der BGA ja angegeben sind. So, dann bin ich alle Punkte der BGA durchgegangen. Den Bunker TipTrigger da fungt man den Index des Triggers einfach als Kauftrigger ein, den Haken bei Buy_Triggers_Auto rausnehmen. Somit werden einzelne Indexe gefordert, keine TG mehr mit zig triggern.


    objectDeleteTrigger: Auch den Index direkt kopieren.
    pushers und rolls: Da beide Indexe kopieren und in Buy_Objects einfügen
    silagePlaneSmall, silageCatcher und vehiclesBlocker: Da habe ich eine DummyTG erstellt, die Translation kopiert und die 3 Objekte wieder in der Dummy TG kopiert, dann den Index zu den TGs im Buy_Objects kopiert. Beim SilageCatcher muss man dann nur den Index in der BGA_Facility ändern, statt 0>0|5 ist es nun 0>0|5|0.


    ManureTank. Dieser ist etwas umfangreicher einzubauen. Hier brauchen wir 2 DummyTgs, einmal die DummyTG mit den Werten die für den Tank gebraucht werden, die 2.TG dann um einen Index zum Tank anzugeben.
    Der Sound wird als Translate Object erstellt, also hier beim Sound die Attribute einfügen den Index kopieren und sound ab unter die erde.


    bga, also die Gebäude, einfach Index kopieren und in Buy_Objects kopieren.
    Bei den Silos, da habe ich auch einfach den TipTrigger Index kopiert und ins Attribute Buy_Triggers kopiert, gleiches habe ich mit dem interactionTrigger und compactingTrigger gemacht.
    Die SiloWände dann auch als einfaches Objekt, den Index kopieren und in Buy_Objects kopiert.


    Man könnte wohl auch die DummyTgs zum Teil weglassen, wenn man die BGA komplett umbaut, also alles was Buy_Object ist in eine TG und dann die Indexe in der BGA.onCreate komplett neu anpassen. Das wollte ich jetzt aber nicht machen, damit du nicht alles komplett umbauen musst, denn ich denke du hast dich bei deiner Bga am Aufbau der StandartBga orientiert, somit sollte das ganze jetzt ziemlich schnell gehen beim Einbau.

  • Ich bin bei mir auf ein Problem gestoßen, bei dem ich nicht weiß ob's am Aufbau oder am script liegt: Ich habe mehrere buyableObjects, sie sind nicht in einer einzelnen TG, sondern verteilt. Das sollte ja eigentlich kein Problem darstellen, da eh onCreate benutzt wird.


    Kaufe ich jetzt eines dieser Objekte, verschwinden die buyIcons aller anderen Objekte. Die Kauftrigger sind allerdings noch da, so dass ich die Objekte auch erfolgreich kaufen kann.


    Björn (oder jmd anderes), ne Idee?

  • Hi,


    Das Problem hatte ich auch.


    Du musst die TG IconJumping anklicken, dann die User Attributes öffnen und bei Icon_Ident_Object eine 2 eintragen,
    für ein weiteres kaufbares Objekt eine 3, usw ... also jede Zahl darf nur einmal vorkommen. Dann sollten die anderen
    Icons auch weiterhin da sein, wenn du Objekt 1 gekauft hast.


    Grüße

  • Hi
    Ich vernute auch das was Deere6800 schon sagte, das hier die nummern nicht zueinander passen.


    Ich hatte da am Anfang das Problem das der Icon nicht verschwinden wollte wenn man ein Objekt gekauft hatte, daher habe ich auf die Variante mit 2 einzelnen Skripten zurückgegriffen, da klappte es dann. Hinterher habe ich dann auch nicht weiter geguckt woher das Problem kam.


    Im buyableObjects, bei den UserAttributes da hast du den Object_Ident_Icon und in der TG des Icons ist das Attribute Icon_Ident_Object, diese 2 Nummern müssen gleich sein, damit beim Kauf des Objektes der dazugehörige Icon auch verschwindet.


    Sollte es daran nicht liegen, kannst du dein Objekt auch gerne kurz ausbauen und mir schicken.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!