Was beschäftigt euch gerade beim Modding

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Klar kann man die Munition als Deko in Regale snappen, dafür habe ich ja gesorgt ;)
      Los ging es mit einem Addon für dinozaurz Do it Yourshelf und dann habe ich meine eigene Warehouse Mod released


      Die Baukosten der Munitionsstapel sollen ja in etwa der Anzahl Patronen pro Stapel entsprechen.
      Damit kann man gut überflüssige Munition ins Lager packen, aber halt kein Mikromanagement betreiben.

      So richtig zufrieden war ich nie, denn meine beiden ursprünglichen Ziele konnte ich bisher nicht realisieren:

      1. Automatische alle gesammelte Munition in eine Box zu packen und dann sortieren zu lassen
      2. Gezielt einzelne Packungen aus dem Regal entnehmen zu können

      Das hat mir beim Underground Hideout so gut gefallen. Man ist in seine Waffen- und Rüstkammer gegangen und hat sich mit der richtigen Kleidung, Waffen und der dazu passenden Munition für die nächste Mission ausgestattet. (immersive as fuck) ;)


      Wenn das Setup nicht so aufwendig wäre, würde ich heute vielleicht etwas daran rumschrauben. Aber FO4 installieren und alle Tools wieder aufzusetzen (CK, FO4Edot, nifskope, gimp+dds plugin, outfitstudio) dauert bestimmt alleine einen ganzen Tag

      So, schnell mal NV gezogen und einen Blick in Underground Hiedeout geworfen.

      Die Scripte sind im esp eingebettet, das ist schon mal ein wesentlicher Unterschied.
      Für mich die gute Neuigkeit, die ersten paar Scripte sehen zumindest verständlich aus

      Autosorter:
      Spoiler anzeigen


      Entnahme aus Inventory nach drücken des Knopfes und Einlagerung in entsprechenden Bereich
      Set AmmoCount to Player.GetItemCount Ammo10mm
      EHammo10mmstorageRef.additem Ammo10mm AmmoCount
      Player.RemoveItem Ammo10mm AmmoCount 1

      Global Reference
      EHammo10mmstorageRef [REFR:01001ED0] (places EHammo10mmstorage "10mm Rounds" [CONT:010082A2] in GRUP Cell Persistent Children of EvelandHouseArmory "Armory" [CELL:01001751])



      Hier wird es aber eher unschön, die zu platzierenden Munitionspackungen sind vordefiniert inkl. x/y/z Koordinaten





    • Die Logik, von dem was du tun möchtest, hat nicht gross geändert, aber das Scripting selbst ist völlig anders. Ich müsste auch zuerst recherchieren, wie das überhaupt geht.
      Wenn ich dich wäre, würde ich übrigens eher ein Script in Skyrim analysieren, da gab es solche Platziermods. Würde mal im Skyrim-Nexus nach "Shelf" suchen.

      Du sagst, die Scripte wären in esp eingebettet gewesen und das stimmt auch, sie waren sogar in Klartext lesbar. Das ist heute nicht mehr so, Scripte sind kompiliert und wenn der Modder die Source-Dateien nicht mitliefert, was leider nicht selbstverständlich ist, sind sie praktisch unerreichbar für dich. In FO4Edit nachsehen geht überhaupt nicht mehr. Du musst die ba2 entpacken, um sie unter scripts/source zu finden.
    • Man kann Skripte schon dekompilieren mit Champollion, zumindest die Struktur ist dann erkennbar. Was ändern und wieder kompilieren geht allerdings nach meiner Erfahrung nicht.
      Aber bisher hatte ich auch Glück und die Sources immer freundlich zur Verfügung gestellt bekommen.

      Der Tipp mit Skyrim ist sehr gut, allerdings konnte ich nur diesen Sorter Mod finden

      nexusmods.com/skyrim/mods/25890/?

      Unter "Shelf" finde ich nichts entsprechendes finden, bin aber auch guter Hoffnung, dass es was vergleichbares gibt.
    • Könnte "shelves" ein besserer Suchbegriff sein?

      Den Decompiler habe ich auch, habe ihn nur nicht erwähnt, weil er nicht wirklich brauchbar ist, zumindest nach meiner Erfahrung.

      Habe übrigens gerade wieder ein neues Projekt gestartet und zwar die Möglichkeit, Workshop-Objekte per Ingame-Menu zu skalieren, zu drehen oder zu positionieren. Der Hintergrund ist der, dass diese Funktionen von Place mit dem Gamepad nicht mehr funktionieren und die Konsole eher mühsam zu bedienen ist.
      Ausserdem habe ich einige eher zickige Objekte, die sich nur ungenügend platzieren lassen. Dann gibt es einige Objekte im Spiel, von denen grössere oder kleinere Versionen ziemlich sinnvoll wären. Das müsste man sonst mit Nifskop machen oder so.
      Jetzt kann ich einem Aktivator-Objekt ein Mesh und das Script zuweisen, das sich dann anklicken lässt, um das Menu zu öffnen. Der Nachteil ist, dass ich das Script prinzipbedingt nur Objekten zuweisen kann, die kein anderes Script mit OnActivate() dauf haben.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von PixelMurder ()

    • Danach hatte ich auch gesucht, aber nur die Bookshelfes gefunden. Die funktionieren in Skyrim ohnehin anders als man das in FO4 kennt.
      Naja, so dringend ist es ja nicht.

      Für Positionierungen hatte ich immer "Autohotkey" verwendet. Skalieren geht meines Wissens nach über Konsole mit setscale, da muss man nifskope nicht extra anwerfen.
    • Nur ist die Konsole ziemlich mühsam, vor allem wenn man mehr als ein Objekt ändern möchte.
      Habe es bereits auf einer craftbaren Muschel und einem Marmor-Block, wie man sie in Bergwerken findet, angewendet und ausgetestet. Ziemlich geile Sache, bis du die Konsole geöffnet und SetScale eingegeben hast, habe ich die bereits in einem hübschen Menu auf die Grösse gebracht oder in die Richtung gedreht oder am Ort positioniert, wo ich es gerne hätte.
      Man kann sogar jeden Wert im CK vordefinieren, der beim ersten Laden angewendet wird. Man kann im Speziellen für die Grösse sogar einen Min- und Max-Wert angeben, dann wird das Objekt zufällig zwischen diesen beiden Grössen skaliert.
      Muss aber morgen noch den Disable/Enable-Trick einbauen, was ich schon vermutet hatte. Manche Meshes kriegen zwar technisch die neuen Positionen, aber das 3D wird nicht geupdatet, d.h man sieht die Änderungen nicht. Wenn man vor dem Positionieren disabled und nachher wieder enabled, kann man das austricksen. Das geht so schnell, dass man es kaum sieht.
    • Skyrim hätte ich nach dem Wechsel auf den neuen PC auch bereits wieder spielbar gemacht, d.h. den gesamten Data-Folder vom alten PC drüber gebügelt, den neuesten Patch und CK, SKSE und SkyEdit installiert, usw. Allerdings ist Fallout 4 ein so bedürftiges Kind und hässliches graues Entlein, dass ich kaum vom Modding daran loskomme.

      Habe mir vorhin noch einen Feuer-Hydrant gegönnt, der tatsächlich funktioniert. Habe mit NifSkope einfach das Modell des gössten Hydranten aus Nuka World skaliert und das DrinkFromFountainscript drauf gehauen. Vielleicht ist in Boston der Feuer-Hydrant ja unbekannt, aber das ist für mich ein weiteres kleines Ding, das einfach in eine reguläre Deko einer Stadt gehört.

      Dann noch ein wenig an meinem neuen Script geschraubt, das es einem erlaubt, per Dialog die Grösse, die drei Achsen und Positionen im Raum zu verändern. Das Disable/Enable bringt schon was.
      Allerdings krankt das prinzipiell dran, wie das Positionieren der Objekte im Workshop funktioniert. Sobald ich eine Achse per Script setze, lässt sich das im Bau-Modus nicht mehr richtig drehen.
      Aber okay, für einfache Zwecke reicht es allemal. Oder auch nur darum, ein Objekt bei der Erstellung zu skalieren, ohne mit Nifskope zu arbeiten. Das funktioniert hervorragend, ich setze einfach die Eigenschaft ScaleMin auf 0.2 und schon wird der viel zu grosse Hydrant auf handliche Grösse geschrumpft.
      Werde meinem Script noch eine BlockActivation-Eigenschaft gönnen, die die Einstellungsmöglichkeiten blockt, manchmal braucht man nur ein Scale, das man nicht mehr anpassen muss.
    • Hatte wieder mal meine übliche Reaktion, wenn ich einen neuen Bereich im Creation Kit betrete, den ich noch nicht oder nicht genauer angesehen und gefixt habe: WTF!!!!! Kein Wunder komme ich nicht richtig zum Gamen.

      Vorhin musste ich wieder fressen wie ein Scheunendrescher, um meinen Hunger zu kurieren, was mich endlich dazu getrieben hat, mal das HardcoreManagerScript zu analysieren. Die Jungs errechnen doch tatsächlichen den Nährwert eines Food-Items an seinem Einstandspreis. Hatte ich schon WTF erwähnt?
      Das führt dazu, dass eine frische Karotte den doppelten Nährwert einer Gemüsesuppe haben kann. Auf jeden Fall, dass ein ein Lebensmittel nur zufällig seinem geschätzen Nährwert entspricht, das ist einfach nur Kraut und Rüben. Habe bei meinem eigenen Bedürfnisse-System für Skyrim die Erfahrung gemacht, dass der Wertebereich tatäschlich klein ist, um darin zu navigieren, damit man es als realistisch betrachtet, aber da einfach einen Harcore-Modus draufzupappen und den Nährwert am Preis zu berechnen und sich nie die Mühe zu nehmen, die Werte auch auszutarieren, sorry, das ist kein Modder-Niveau, geschweige denn professionell. Vom programmiererischen Standpunkt aus ist es sowiso geradezu kriminell, einen Wert an einen anderen zu koppeln, der in keinster Weise logisch zusammenhängt.

      In Skyrim habe ich das mit Keywords in 5 Leveln gelöst, die ich jedem Food-Item zugewiesen habe. Natürlich wär das eleganteste, man könnte abfragen, wie hoch der Gesundheitzuwachs durch ein Item ist und den Hunger an dem Wert bemessen, soweit ich weiss, gibt es dazu aber keine direkte technische Möglichkeit. Ich würde ein paar andre Ansätze sehen, wie man das so exakt wie möglich umsetzen könnte, ohne am Preisgefüge rumzuschrauben. Aber ich glaube ich gehe da mal den Weg des geringsten Wiederstands und passe tatsächlich die Preise an, damit sie den ungefähren Nährwert wiederspiegeln. So wäre ein Steak immer teuerer, als ein unzubereitetes Fleisch und Gemüse immer weniger als Fleisch wert.

      Das hat aber schon Nebenwirkungen im Balancing. Sagen wir ein Steak hätte den Nährwert/Preis 100(was es haben müsste, damit ich nicht mehr als vier davon essen müsste, um meinen Hunger zu stillen) und das Fleisch 10. Dann könnte ich Kohle grinden, indem ich einfach Brahmine verarbeite, die ich nebenbei mit meiner Mod auch mit Fleischausstoss in den Workshop züchten kann.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PixelMurder ()

    • Habe eine Methode gefunden, die ohne grössere Eingriffe ins Preisgefüge funktioniert, im Prinzip musste ich nur wenige Nahrungsmittel im Preis fixen.
      Ich teile die Preise in 20er-Schritte auf , die mehr oder weniger aussagen, in welcher Stufe Nährwert sich das befindet, und errechne daraus einen Multiplikator. Alles unter 20 kriegt sogar Abzüge, alles bis 40 wird 1:1 ausgewertet, anschliessend erhöhen sich die Nährwert-Boni exponentiell. Der Bonus wird zusätzlich durch den Ausdauer-Level des Spielers limitiert und anshcleissend mit dem effektiven Verkaufspreis multipliziert.
      So kann ich mit den Preisen ein wenig jonglieren, kriege aber spürbare Unterschiede im Nährwert.

      Beim Wasser übrigens das selbe Bild und auch das habe ich mit einer Formel angepasst, die mit der Ausdauer limitiert wird. Ein Flasche sauberes Wasser hat einen Wert von 10(soweit so gut), währed das Wasser aus der Pumpe nur 1 wert war, WTF. Kein Wunder musste mans saufen wie eine Kuh, um den Durst zu stillen. Auch das hat einfach nichts mit Profi zu tun, den Durstlösch-Faktor am Preis zu berechnen und das Wasser nicht darauf anzupassen.

      Edit
      So sieht meine Erweiterung im HardcoreManager aus aus, hatte es heute morgen nicht zur Hand.

      Quellcode

      1. ; THEW: Better formula to make difference between prepared or raw meat, food or ingredient
      2. int Function FixFoodNutritionValue(int foodValue)
      3. float nutritionModifier = 0.4
      4. float nutritionModifierCap = 1.0 + (0.1 * Game.GetPlayer().GetValue(Game.GetEnduranceAV()))
      5. if foodValue >= 100
      6. nutritionModifier = 2.0
      7. elseif foodValue >= 80
      8. nutritionModifier = 1.6
      9. elseif foodValue >= 60
      10. nutritionModifier = 1.2
      11. elseif foodValue >= 40
      12. nutritionModifier = 1.0
      13. elseif foodValue >= 20
      14. nutritionModifier = 0.8
      15. endif
      16. return Math.ceiling(foodValue as float * Math.max(nutritionModifier, nutritionModifierCap))
      17. EndFunction
      18. ; THEW: Better formula to make difference between water types
      19. int Function FixThirstQuenchingValue(int drinkValue)
      20. return Math.ceiling(drinkValue as float * (1 + (0.05 * Game.GetPlayer().GetValue(Game.GetEnduranceAV()))))
      21. EndFunction
      Alles anzeigen

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von PixelMurder ()

    • Schon faszinierend, was einem alles so einfallen und man umsetzen kann :D

      Alle friedlichen Eyebots, z.B. um Diamond City rum spielen neu das Radio und zwar lauter als vorgesehen. Die Eyebots, die ich selbst als Deko bauen kann, haben das Radio auch drauf, zusätzlich aber bewegen sie sich immer in kleinem Umkreis um mich herum, solange ich in den Siedlungsgrenzen bin. Sehr immersiv, vor allem, wenn einem der Sound so gefällt und natürliich gehörig erweitert ist.

      Dann habe ich im Spiel auch schon summende Fliegen gesehen, aber zuwenig und bin deswegen vorher endlich der superwichtigen Frage nachgegangen, wwoher die kommen und ob ich sie selbst einbauen kann. Es gibt tatsächlich eine Quest, die soas generieren sollte, aber es erscheint mir nicht richtig zu funkionieren.
      Jetzt habe ich kurz ein Script geschrieben, das zu jeder Leiche einen Schwarm beamt. Muss ich noch testen, habe später auch noch vor, mehr Gore oder besser gesagt, Blutlachen automatisch zu platzieren. Im Original kann man Fliegen nur um tote Actors platzieren, habe es aber erweitert, dass man das Script jedem Ding anhängen kann, z.B. statischen Brahmin-Leichen.
      Ich selbst kann ja auch solche craften, die einen Hunde-Idle-Marker dran haben, der meine craftbaren Hunde da fressen lässt.
      Also wenn ich noch drei jahre Zeit habe, könnte das Spiel irgendwann lebendig werden.

      Muss auch mal gesagt werden, da viele Leute über die Engine motzen und verlangen, dass Beth eine andere modernere verwendet. Also ich persönlich würde einen Nachfolger niemals mit einer Frostbyte oder Ureal zocken wollen, da ich das System schätze und dank einiger Erfahrung weiss, was sie kann. Die ganzen unsäglichen Beschränkungen und Lücken im Spiel haben in keinster Weise mit der Engine zu tun, sondern mit der Begrenztheit ihrer Bediener: UI-Gestalter, Texturen-Pinsler, "Scripter", Level-Designer, Story-Verantwortliche... Man könnte mit der aktuellen Version der Engine das tollste Spiel aller Zeiten haben, allerdings nicht von Beth. Trotzdem lieber das, was wir gekriegt haben, als so eine Grütze wie das letzte Mass Effect, dass sich noch nicht mal richtig modden lässt.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PixelMurder ()

    • Bin also immer noch an diesem verblödeten Hardcore_Manager, der in keinster Weise irgendwie Rollenspiel-Elemente einbezieht, z.B. ist es vollkommen egal, wieviel Ausdauer oder welche Perks man hat, wie müde durstig, hungrig oder krank man wird.

      Habe mich schon imer gefragt, wieso ich etwa ständig lethargisch bin, obwohl ich gerade ein Schläfchen hatte und mich vollgestopft und vollgesofffen habe. Es ist aber tatsächlich nur Zufall, welcher Effekt ausgelost wird, da wird einfach in einem Timer eine Random-Nummer generiert, die einen aus einer Liste auswählt(Parasiten, Müdigkeit, usw). Es gibt keine Abfrage darauf, ob man gerade geschlafen hat, um gewisse Effekte zu blocken. Werde zumindest die üblichen Abzüge und Auslosungen von Krankheiten an die Ausdauer-Skala koppeln.

      Ausserdem basieren die Abzüge ebenfalls auf dem Preis, d.h. mit einem teuren Medikament kriegt man blödsinnig viel Durst. Da kann ich 10 Flaschen Wasser saufen, dann ein SuperStimpak einschmeissen und bin wieder durstig. Okay, als alter Hase nimmt man zurst die Medikamente und trinkt anschliessend, aber man kann es ja auch fixen.

      Es gibt noch ein anders Thema, an dem ich wie Schorf ständig kratzen muss und zwar die Log-Files, die ich fast zwanghaft nach jeder Game-Session auswerte, wie ich auch beruflich nie ohne offene Konsole in unserem System surfe, da für mich JavaScript-Warnungen eine Schande sind, selbst wenn sie keine echten Auswirkungen haben.

      Aber hier muss ich jetzt umdenken und gewissen Fehlern bewusst keine Beachtung mehr schenken. Habe bisher in zig Scripten noch mehr Checks eingebaut, als der Unofficial Patch, aber ich bin es langsam leid. Das Ziel, ein absolut reines Log zu haben, ist prinzipbedingt unerreichbar, ich muss mich darauf beschränken, die allersinnlosesten Log-Meldungen zu verhindern. In einem ungepatchen Fallout 4 hat man durchschnittlich 5000 Zeilen pro Stunde, was mit Mods auf 50000 anwachsen kann. Bei mir sind es dank dem Community Patch und viel Eigenarbeit durchschnittlich 200 relevante Zeilen pro Stunde, hinzu kommen nochmals 1000 Zeilen, die ich bewusst ausgebe, um anzuzeigen, dass mein Bug-Fix wirkte. Die deaktiviere ich anschliessend, wenn ich weiss, dass meine Fixes wirken.

      Man muss dabei zwischen echten Bugs und Laufzeit-Fehlern unterscheiden, die keine sichtbare Auswirkungen auf das Spiel haben. Es ist im Gegenteil so, dass die wenigstens Messages im Log auch nur annähernd so problematisch sind wie die Bugs, Logik-Fehler und Performance-Vernichter, die das Spiel durchziehen aber nirgends ausgegeben werden. Aber man findet unter den tausenden sinnlosen Meldungen kaum diejenigen, die tatsächlich auf Fehler hindeuten.

      Leider gibt es prinzipbedingt keine failsafe Lösungen, zum einen, weil es für manche Zustände einfach keine Abfrage gibt, zum anderen, weil man keine Funktion ausführen könnte, ohne Checks zu machen, die in der Summe mehr Peformance kosten würden, als eine Crash-Meldung.

      Der Hintergrund: Auf den ersten Blick sieht das System von Fallout irgenwie wie eine Webseite aus, es gibt Dateien, die auf andere verweisen, Aufrufe von grafischen Daten und Scripte die laufen. Aber es funktioniert anders, vor allem Actor-Effekt können jederzeit von einer Zeile zur anderen deaktiviert werden. Da hilft es nichts, am Anfang der Funktion darauf zu checken, ob es den Actor oder ein Linked Ref noch gibt, eine Zeile nach der Abfrage könnte diese schon wieder obsolet sein und dann wird eine Funktion auf einem Actor ausgeführt, die failt. Hinzu kommt das Threading, das man im Griff haben muss, wenn man nicht möchte, dass eine Funktion die andere kaputt macht.

      Aber Beth tritt auch wirklich in jedes Fettnäpfchen das es gibt, analysierte heute fasziniert das Script, das auf jedem Objekt liegt, das zur Quest der Suche nach Kellog als Spur betrachtet wird und mir Warnungen ausspuckt. Tatsächlich hat das keinerlei Bedeutung für die Quest, da der nachfolgende Code ausgeführt wird, um etwa Quest stages zu setzen. Aber von mir aus gesehen ist man im falschen Job, wenn man eine Funktion schreibt, die auf 36 Objekten liegt, die höchstens 10 Mal nicht crasht und davon wahrscheinlich 5 Mal das falsche tut.

      Quellcode

      1. if MQ106BloodyBandage<---- es werden Objekte disabled, die ins Inventar gehören würden, weil die Variable teilweise falsch intialisiert ist: zufällige Reaktion
      2. Disable() <-----fast alle Objekte können nicht disabled werden, da sie einen EnableParent haben: Crash
      3. else Player.AddItem(self) <--- nur 4 Objekte von 36 sind Items, die man ins Inventar tun kann: Crash
      4. endif

      Anyway, den habe ich kurz gefixt, indem ich eine Zeile "if self as MiscObject" davor stellte und die MQ106BloodyBandage-Variablen richtig setzte und die Quest lief auf Anhieb perfekt ohne eine einzige Warnung.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PixelMurder ()

    • Ich kann einfach nicht anders, habe bereits weitere drei Scripte debuggt, z.B. das OxygenTankScript oder das Script, das einem bei Ermüdung das Rennen verunmöglicht.
      Das ist besonders interessant, weil ich darin gerade eine neue Methode kennengelernt habe, nach der ich bereits mit falschen Begriffen suchte und zwar IsBoundGameObjectAvailable(). Hatte das vorher mit Checks wie if self, if self.IsDeleted() und anderen wackeligen zweitklassigen Checks gemacht.
      Wie oben bereits angetönt, ein Script kann von einer Zeile zur anderen seinen Bezug verlieren und damit crashen, etwa wenn ein Actor mit gescriptem ActorEffect entladen oder disabled wird oder auch wenn ein beliebiges Objekt entladen wird. Dann hängt das Script noch einige Zeit in der Memory und kann sogar mehrfach Fehler auslösen. Würde sogar behaupten, dass durchschnittlich eher mehr als ein Drittel aller Fehler im Log von daher kommen. Okay, normalerweise ist das nicht unbedingt ein Beinbruch, aber es kann zu Bugs führen.
      Mit dieser Abfrage oben kann man heiklere Operation umschliessen und damit nur auslösen, wenn es auch wirklich funktioniert.
      Übrigens habe ich schon zig Scripte genau angesehen oder gefixt, aber das ist jetzt wirklich das einzige Mal, das ich den Gebrauch dieser Methode gesehen habe. Auch kein Wunder, habe mit Notepad++ kurz eine Suche im Quelltext aller Scripte inklusive aller DLC gemacht und es wird genau vier Mal verwendet.
    • Also die Jungs des Unofficial Patches sind ja auch nicht fehlerlos, heute meinte ich, die seien auf das Niveau der "Programmierer" bei Beth gefallen, als ich anylsierte, wieso ich dreitausend Zeilen Fehler im Log hatte und zwar immer den selben.

      Der UFOP ändert das Spotlight-System(das sind die Spotlichter, die man in Raider-Lagern und Dungeons findet) gewaltig, das sind nicht nur Tweaks. Aber darin füllen sie so schlampig wie die Beth-Typen eine Variable ab, die meist leer ist, was bedeutet, dass das SpotlighTriggerScript wegen eines daraus resultierenden Laufzeit-Fehlers praktich sinnlos wird.

      Hatte auch letzhin noch so einen Anfänger-Fehler in den Sourcen des Unoffficial-Patches gefunden und das führte tatsächlich dazu, dass Ressourcen nicht immer in den Workshop kamen. Wer nicht weiss, dass Arrays null-basiert sind oder es spätestens beim Lesen der Log-Files nicht merkt, der sollte nicht an den Sourcen de Spiels rumschrauben.

      Aber zur Ehrenrettung: der UFOP ist trotzdem ein absolutes Must Have, die paar Fehlerchen kann man verschmerzen angesichts der vielen Dinge, die es fixt.
    • PixelMurder schrieb:

      Also die Jungs des Unofficial Patches sind ja auch nicht fehlerlos, heute meinte ich, die seien auf das Niveau der "Programmierer" bei Beth gefallen, als ich anylsierte, wieso ich dreitausend Zeilen Fehler im Log hatte und zwar immer den selben.

      Der UFOP ändert das Spotlight-System(das sind die Spotlichter, die man in Raider-Lagern und Dungeons findet) gewaltig, das sind nicht nur Tweaks. Aber darin füllen sie so schlampig wie die Beth-Typen eine Variable ab, die meist leer ist, was bedeutet, dass das SpotlighTriggerScript wegen eines daraus resultierenden Laufzeit-Fehlers praktich sinnlos wird.

      Hatte auch letzhin noch so einen Anfänger-Fehler in den Sourcen des Unoffficial-Patches gefunden und das führte tatsächlich dazu, dass Ressourcen nicht immer in den Workshop kamen. Wer nicht weiss, dass Arrays null-basiert sind oder es spätestens beim Lesen der Log-Files nicht merkt, der sollte nicht an den Sourcen de Spiels rumschrauben.

      Aber zur Ehrenrettung: der UFOP ist trotzdem ein absolutes Must Have, die paar Fehlerchen kann man verschmerzen angesichts der vielen Dinge, die es fixt.
      @PixelMurder
      Ich habe zwar keine Ahnung, von was du so immer schreibst, aber ich lese gerne mit! Und entnehme deinen Ausführungen, dass Fallout 4 ein Haufen Programmmüll ist :D
      Weiter so! :thumbsup:
    • Nicht alles ist Müll, aber es gibt zuviele haarsträubende Dinge in dem Spiel, die mich mutmassen lassen, dass da auch viele Anfänger und/oder eher durchschnittlich begabte oder motivierte Angestellte mitgewerkelt haben.

      Bin gerade dabei, mein Encounter-System um BoS-Gruppen nachzurüsten, die mehr oder weniger zufällig am Spieler vorbei patrouillieren oder eine Siedlung besuchen können.

      Folgende Dinge musste ich dazu erstellen:
      -1 Basis-Template für BoS-Actors
      -1 Basis Template für Robots
      -3 verschiedene Robot-Typen mit BoS-Signatur
      -je ein Actor für die gesamte Hierarchie(Initiate, Scribe, Soldier, Officer, Knight ohne PA, Knight mit PA, ein Paladin als Anführer
      -gelevelte Waffen-Listen(Energie, Energie Pistole, Energie-Gewehr, Energie Big Guns, Backup-Waffen für Big Gun
      -je eine gelevelte Liste und Outfit für jeden der obigen Typen
      -12 Packages für die KI-Steuerung der Gruppen
      -1 Steuer-Quest, um die Gruppen zu beschreiben, die über die Hauptquest gespawnt werden(Erkundung, Patrouille, Technologie-Erforschung, ...)

      Wenn die getestet sind, kommen auch Minutemen und andere Gruppen.

      "Soviel Spass!" würde jetzt Fawkes dazu sagen :D
    • Neu

      Die ersten der genannten BoS, die ich sah, spawnten zufälligerweise gerade dann, als ich Thicket Excavations zu meiner Siedlung machen wollte. Natürlich modde ich, weil man nur so ein ein mehr als durchschnittliches Spiel kriegt, aber solche Momente fühlen sich schon auch gut an, wenn man sieht, wie eine eigene Kreation dann kommt, wenn man sie braucht.

      Dann mal die Basis der Siedlung eingerichtet, Betten gebaut, Beleuchtung, Interaktionsmöglichkeiten für Siedler, usw. Aber irgendwie haben die da Probleme, z.B. die Betten zu finden, die sich eigentlich in einer erlaubten Position befinden sollten. Und man kann es vergessen, dass jemals ein Siedler in den untersten Stock der Siedlung oder auch nur in die grosse Höhle in der Mitte geht(siehe Video) geht, auch wenn es in der erlaubten Distanz wäre.
      Muss jetzt da auf jeden Fall mal die Navmeshes da überprüfen, die essentiell für die KI und vor allem die Wegfindung sind. Meine Erfahrung mit mindestens drei Spielen sagt mir, dass die versaut sind und dass man sebst einen Schimpansen drauf dressieren könnte, bessere Navmeshes als Beth zu pinseln, oder besser als die Automatik des CK, die zu sehr strapaziert wird.
      Möglicherweise sind die Stockwerke nicht mal richtig verbunden, okay, weil es auch nie vorgesehen war, dass das eine vollwertige Siedlung ist.

      Okay, eine andere Möglichkeit wäre, dass ich so eine Art craftbare Fake-Siedler einbaue, die nicht mit dem Workshop verbunden sind, aber trotzdem alles machen, was die Siedler auch tun. Die Vorlage für diese Typ Siedler habe ich ja schon in den Encountern, die können bereits allles tun, was es zu tun gibt. Im Video sieht man ja, wie ich Aktivatoren craften kann, die Katzen, Brahmine oder auch bereits Soldaten spawnen können. Die können sterben, werden aber mit jedem Zellenreset zuerst entladen und dann neu erstellt. Je nach Rasse haben die ihre eigenen Verhaltensweisen und halten sich in einem nützlichen Radius vom Aktivtor weg auf: Hunde streunen auf dem ganzen Gebiet, Brahmine bleiben eher zusammen, Hunde sind mutig, Brahmine sind desinteressiert an einem Kampf.
      Das Problem ist ja, dass ich zweihundert Siedler haben müsste, damit Thicket Excavations belebt aussieht und das macht eigentlich zuviel Mühe, jedem ein Bett und einen Posten zuzuweisen, abgesehen davon, dass so heftig gescriptete Siedler auch Performance ziehen. Wenn Siedler keine Ressourcen-Berechnungen und Zuweisbarkeit benötigen, kann man die Scripte ziemlich verschlanken.

      Aber es gibt auch noch andere KI-Dinge, die es zu verbessern gibt. Mehr Dialoge am Tag in den Siedlungen, bessere Steuerung von Siedlern am Feierabend, mehr Dialoge(vor allem am Verkaufststand, wenn möglich) zwischen Encountern und Siedlern, meine craftbaren Wachpatrouillen funzen auch noch nicht so, wie sie sollten. Also dieses Weekend steht unter dem Zeichen der Verbesserung der KI und der Belebung der Siedlungen.
    • Neu

      Video KI Tests

      Hier mal ein Video, das zeigt, was ich letzte Nacht und heute morgen gemacht habe: Craftbare Siedler in mehreren Typen ohne Verbindung zum Workshop. Die lassen sich nicht zuweisen, brauchen keine Betten, geben oder brauchen keine Ressourcen und sollen nur den Sinn haben, ein bestimmtes Gebiet zu bevölkern, etwa eine Bar. Die Scripte darauf sind sehr schlank und so sollten sie auch nicht die Performance belasten.
      Ich habe so eine Art Lego-System aufgebaut, mit dem ich sehr fein gesteuerte gelevelte Listen einfach zusammenklicken und kombinieren kann. Unter-Rüstungen, Rüstungen von Leder bis zu Combat, Brillen, Hüte, Helme, Waffen-Packs(Meleee, Ranged, EnergyRanged, MeleeOrRanged, BigGuns, BigGunsEenrgy, BigGunsBackup, ...). Der Initial-Aufwand ist da, aber anschliessend habe ich in in ein paar Sekunden einen davon abgeleiteten Bekleidungstyp erstellt, z.B. für einen Soldaten, eine Wache oder einen Farmer. Werde dann noch einen Patch erstellen, der meine Ausrüstungspakete ausschliesslich aus Vanilla-Material mit Mod-Klamotten vereint.
      Die Actors selbst haben immer alle Packages drauf, die aber durch ein Script gesteuert werden,dass man einfach konfigurieren kann, z.B. ein Typ Herumtreiber, der sich in kleinem Radius aufhält, hervorragend für die Bar.

      Zwischendurch siehts ja recht brauchbar aus aber wenn man genau hinsieht, zickt jeder auf die eine oder ander Weise rum.
      Wegfindungsprobleme, nervös rumlaufen oder wie ein Ölgötze da stehen, mit Real Life hat das gar nix zu tun. Mit ein wenig Feinschliff gehts sicher noch ein wenig besser.
      Das Problem ist halt, dass die Dokumentationen von Beth zum Thema Package kaum in die Tiefe gehen, wenn sie überhaupt gewisse Aspekte abdecken. Anhand der Dialogboxen mit ausufernden Settings im CK kriegt man das Gefühl, es müsse alles möglich sein, eine exakte Feinsteuerung eines Bar-Besuchers etwa. Aber in der Realität schraubt man rum, geht ins Spiels, testet, schraubt wieder rum und es wird eher mieser, als besser.

      Ein weiteres Feature, an dem ich rumschraube, ist dass man eine Siedlerin zur Bar-Sängerin machen kann. Im Video kann sie wahrscheinlich den Weg auf die Bühne nicht finden, denn ich habe schon andere gesehen, die tatsächlich die richtigen Animationen vor dem Mikro machten. Gibt allerdings noch ein wenig Arbeit, bis das wirklich richtig funktioniert, eine läuft hin und beginnt zu singen.
      Im Video weise ich der Siedlerin eine meiner craftabren Unique-Klamottenpacks hinzu, das die Siedlerin auch umbenennt, in Ella Mae Morse in dem Fall.

      Muss nebenbei langsam mein eigenes Menu im Baumodus machen, ich klicke mich bereits endlos lang durch die Ressourcen Misc-Liste, wo ich alle Actor-Spawns und KI-Tricks versorge.

      Dazu sieht man meinen Radio-Eyebot, meine Hündchen und Kätzchen. Der Fisch, an dem die Katze frisst, ist craftbar, und ist eigentlich ein Animationsmarker.
    • Neu

      PixelMurder schrieb:

      Ein weiteres Feature, an dem ich rumschraube, ist dass man eine Siedlerin zur Bar-Sängerin machen kann. Im Video kann sie wahrscheinlich den Weg auf die Bühne nicht finden, denn ich habe schon andere gesehen, die tatsächlich die richtigen Animationen vor dem Mikro machten.
      Hast Du gesehen wie eine von Deinen eigens erstellten Settlern gesungen hat oder war das in einem anderen Video? Ich frage nur deshalb weil es ja da die Mod "Singing Settler" gibt, die hier auch einige nutzen und die ja genau das macht was Du eigentlich vorhast. Wenn ich das richtig Interpretiere was Du geschrieben hast kannst Du Deine Siedler auch zuweisen und dann könntest Du ja auch auf bereits existierende Mods zugreifen oder hab ich das Missverstanden? Ansonsten ziemlich Cool. Auch wenn ich jetzt seit 2-3 Monaten nicht mehr auf dem laufenden bin und somit den aktuellen Stand verfügbarer Mods aus den Augen verlor, hab ich aber auch eine Mod in Nutzung die Siedler Spawnen läßt, welche ganz normal alles machen wie alle anderen auch, allerdings zählen die natürlich auch zu den Ressourcen dazu sprich brauchen Nahrung und Betten etc.

      Ansonsten Coole Sache! :thumbsup:
      Ist das Kunst oder kann das weg?