PC Darkstar One - Modding

Hallo Norbert,

auch ich möchte mich erstmal für deine Riesenarbeit und die ganzen Bemühungen bedanken, die du hier auf dich nimmst.
Ich habe mir den Mod auch installiert und es macht wieder richtig Spaß die DSO zu "frisieren" und zu tunen ;)

Nachdem ich nun zwei Nächte ohne Probleme durchgespielt habe, bin ich nun doch auf ein Problem gestossen.
Die Mission "Aufbruch zum Skaa-System" bricht bei mir gleich nach dem Start vom Thul-Kreuzer ab.... bzw. verabschiedet sich das Spiel.
Ich habe auch schon versucht einen etwas älteren Stand zu laden, leider ohne Erfolg.

Hast du vielleicht eine Idee.... oder ist hier vielleicht auch sowas "einfaches" wie die Groß- und Kleinschreibung?
Ich wäre dir da super dankbar :)

LG
Mathias

::Nachtrag:: Ich hab auch mal versucht einen anderen Spielstand nach Bekämpfung der Thul zu laden und bin dann auf der Handelsstation gelandet. Sobald ich versuche das System zu verlassen, flieg ich raus. Es soll ein Fehler in Zeile 203 sein. Vielleicht hilft das ja.
 

Anhänge

  • Aufbruch zum Skaa-System.zip
    230,8 KB · Aufrufe: 206
Zuletzt bearbeitet:
Hallo und herzlich willkommen im Forum, mathiasbx! :)

Das Problem wurde von der neuen Zufallsmission "Geheimdienstwaffen-Transport" im Skript PASSIV_053.lua verursacht (das "Weihnachtsgeschenk" :)). Es sieht so aus, als würde die Id der Handelsstation fehlen, obwohl sie in Zeile 64 des Skripts ermittelt wird. War der Absturz eigentlich sofort passiert oder erst nach dem Laden von diesem Spielstand? Ich vermute mal letzteres, es ist nämlich schon vereinzelt vorgekommen, dass Werte von Variablen nicht mit gespeichert wurden, was ein Bug des Programms und nicht des Skripts ist.

Die Behebung ist aber mit einem kleinen Workaround ganz einfach.
Füge im Skript die im folgenden hervorgehobenen Zeilen vor der Erzeugung des Wegpunkts ein:
(ab etwa Zeile 259)
Code:
[FONT=Courier New][SIZE=2]	-- Mit Geheimdienstwaffen beladen
	for i = 1, NShip.GetNumCargoBays( { Ship = freighter, Free = true } ).NumCargoBays do
		local weapon = NContainer.Create( {
			Type = CONTAINER_SHIP, Size = CONTAINER_SPECIAL, Ship = freighter
		} ).Container
		NContainer.Equip( { Container = weapon, Goods = "IDL_WEAPON_04" } )
		NContainer.SetUniqueItems( { Container = weapon, Number = 1 } )
	end

	[COLOR="#B22222"][B]-- Handle und Radius der Handelsstation
	V.TradeStation = MissionLib.GetSystemTradeStation()
	V.Radius = MissionLib.GetOrbiterRadius( V.TradeStation )[/B][/COLOR]

	-- Wegpunkt an der Handelsstation für den Frachter
	V.WP = NWaypoint.Create( {
		Object = V.TradeStation, Radius = V.Radius, Wing = wing
	} ).Waypoint[/SIZE][/FONT]
Anschließend den Spielstand wieder laden und weiter gehts. Der von dir angehängte Spielstand funktioniert mit dieser Änderung auch.

Bei mir war das Problem bisher noch nicht aufgetaucht, obwohl das Skript durch meine vielen sonstigen Tests bei der Weiterentwicklung bestimmt schon an die hundert Mal gelaufen ist. Da muss ich mal schauen, ob ich das reproduzieren kann.
 
Zu dem Zeitpunkt war die Mission mit dem Waffentransport bereits erzeugt worden, genauer gesagt sogar schon, als du ins System gesprungen bist.

Dieser Skripttyp MTYPE_SPACE ist mir aber sowieso suspekt, da unkontrollierbar und praktisch überhaupt nicht dokumentiert. Ich habe bei denen den Verdacht, dass diese Missionen manchmal zu früh erzeugt werden, sodass dann die initialisierten Parameter darin nicht mehr mit denjenigen des aktuellen Sternsystems übereinstimmen. Und manche werden im Laufe eines ganzen Spiels nicht erzeugt, wie ich schon feststellen konnte. Weiß der Geier, was sich Ascaron damals dabei gedacht hatte.

Ich habe deshalb ein paar kleine Änderungen darin vorgenommen - vor allem den Typ in MTYPE_ALWAYS umgewandelt und die Zufallserzeugung selber in die Hand genommen - und das Skript hier mit angehängt. Entferne einfach die Erweiterung ".txt" im Namen und ersetze die bisherige Version damit.

Viel Spaß :)

Nachtrag:
Setze noch 2 Bindestriche an den Anfang der Zeile 62, um sie so auszukommentieren.
Hatte ich vergessen und ist nur eine Zusatzinfo für mich, die im Spiel angezeigt wird, wenn die Mission erzeugt wird.
Hab das Skript nochmal mit der auskommentierten Zeile hoch geladen, das muss also nicht mehr geändert werden.
 

Anhänge

  • PASSIV_053.lua.txt
    14,2 KB · Aufrufe: 428
Zuletzt bearbeitet:
Hallo erstmal!
Hab mir vor kurzem den versteckte Cluster Mod runtergeladen und installiert. Der Mod gefällt mir ganz gut nur jetzt bin ich bei der Mission "Das Selbstmordkommando der Raptoren" angekommen und glaube dass die irgendwie nicht machbar ist.
Das Problem ist, dass der Superbomber sehr weit in die Atmospäre reinfliegt (ca. 2u) und ich ihm nicht wirklich folgen kann, was sich dann noch durch Beschuss mit Torpedos umgehen ließ. Aber dann die Bomben einzusammeln ging einfach nicht, da ich jedesmal zu nah an den Planeten komme und dabei draufgehe. Ist die Mission da jetzt fehlerhaft oder mach ich einfach was falsch?
 
Hallo und herzlich willkommen im Forum, Tyrian! :)

Betätige mal die "Benutzen"-Taste (F) und schau, was es da gibt. :D

Weiterhin ist es immer wichtig, sich die Texte der Aufträge in dem Popup und dem Logbuch genau durchzulesen. Dort steht u.a. auch ein entsprechender Hinweis, was beim Einflug in die Atmosphäre zu tun ist. ;)

Die andere Sache mit den Big Bang Torpedos war aber schon mal richtig so, ohne die ist die Sidequest nur schwer zu schaffen. Falls du die Zeit dafür hast, darfst du auch auf der Handelsstation landen, um den Raketenwerfer wieder aufzufüllen ohne das die Mission fehlschlägt, wie es in vielen anderen Missionen der Fall ist. Sollte meistens möglich sein, da der Bomber relativ lange braucht, um seine ganze tödliche Fracht abzuladen.
 
Danke für deine schnelle Antwort Norbert!
Ich hatte ja schon die Vermutung dass ich da was falsch mache, aber war wohl zu blind um festzustellen was. :rolleyes:
 
Hmmm bleibt nurnoch ein Problem. Ich weiss nicht ob das deine Absicht war aber der größere der 2 Monde hat seine Umlaufbahn genau in der Flugbahn des Bombers. Wurde soeben von ihm "überrollt" als ich die Bomben einsammeln wollte. :eek:
 
Nee, Absicht war das nicht, da hatte ich in der Tat auch nicht drauf geachtet und das noch gar nicht bemerkt bisher.
Finde ich aber ganz lustig und werde daran nichts ändern. Passt man nicht auf, knallt einem der Mond ins Genick. :ROFLMAO:

Falls es dich aber stört, dann sag Bescheid und ich sage dir, wo du was in der Datei Planets.ini ändern musst, um die Umlaufbahn des Mondes zu vergrößern oder zu verkleinern. Ist nur ein einziger Wert und schnell erledigt.

Ich sehe gerade, dass es 4 Monde sind, nicht nur zwei. Welcher ist es denn, der Innerste?
 
Naja direkt stören tuts nich^^ aber ich war halt ein wenig überrascht als mein Schiff da plötzlich bumm machte weil der Mond mich eingeholt hatte. :D
Wenn mans weiß dann muss man halt das Zerstören des Bombers nur n bisschen timen.
 
Hi Norbert,

vielen Dank für deine Hilfe.
Hat nur leider nicht geholfen.

Im Fehlerreport steht folgendes:

Error
--------------------------------
NMission::NWaypoint::LUA_Create - Invalid value for parameter 'Object'!
Executed script: 'PASSIV_053'

LUA callstack
--------------------------------
Called from (Lua) function '?^ in string "E:\Eigene Dateien\Ascaron Entertainment\Dar..." defined in line 203
Called from (C) function 'Create' in C defined in line ???

Source
--------------------------------
string "E:\Eigene Dateien\Ascaron Entertainment\Dar..." in line 262

Ob dir das allerdings hilft??... ich werd davon blind... auch wenn ich schon glaube, so einige Scripte gesehen zu haben ;)
Oder kann ich dir noch mit einem anderen Inhalt helfen... sofern mir überhaupt zu helfen ist *lach*

Ich versuche mich mal dran, und lade die Mission bevor ich das System betreten habe. Vielleicht funktioniert es ja dann....
 
Ja, das war genau der Fehler, welcher durch die aus irgendeinem ominösen Grund fehlende Kennung der Handelsstation ausgelöst wurde. Den konnte ich auch mit der gezeigten Änderung in deinem Spielstand vermeiden, hatte einwandfrei geklappt. Keine Ahnung, warum das bei dir nicht gehen soll.* Mittlerweile habe ich aber auch noch aus anderen Gründen das Skript ein wenig geändert. Lade dir diese überarbeitete Version aus der Antwort #524 oben herunter und ersetze damit die bisherige Version. Würde mich wundern, wenn das Problem dann immer noch auftreten sollte.

PS: Jo, nicht nur das zerhagelte html-Format und die abgeschnittenen Pfad/Dateinamen der Fehlermeldungen sind schrecklich, auch ein großer Teil der originalen Skripts sind grausam hingerotzt worden und strotzen nur so von überflüssigem Müll (und massig Schreibfehlern in den Kommentaren), sowie z.T. auch schweren Fehlern. Keine Ahnung, ob das bei Programmierern von Spielen allgemein so schlimm ist. Hätte ich jemals in der Firma so eine Arbeit abgeliefert, die Chefs hätten sich wohl noch nicht mal die Mühe gemacht, eine Abmahnung zu schreiben.

*edit:
Ach, ich sehe ja gerade, dass es noch dieselben Zeilennummern sind wie zuvor, die in deiner Fehlermeldung auftauchen. Du hattest also die gezeigte Änderung nicht eingefügt. Ist jetzt aber mit dem neuen Skript auch nicht mehr notwendig.
 
Ich hab deine neue Datei genommen und die vorhandene damit ersetzt.

Hab da mal ein wenig rumprobiert. Wenn ich gleich in die Map gehe, sagt Eona ihren Text zu Ende. Dann einmal ins Spiel und wieder in die Karte... bis der ganze Dialog beendet ist. Es wird dann auch das neue Ziel im Okto-Cluster in der Karte angezeigt... aber viel weiter komme ich nicht. Da ist dann wieder Ende.

Sehe ich das richtig, dass zum einen die Zeile 203 und die Zeile 262 angemeckert werden?

Error
--------------------------------
NMission::NWaypoint::LUA_Create - Invalid value for parameter 'Object'!
Executed script: 'PASSIV_053'

LUA callstack
--------------------------------
Called from (Lua) function '?^ in string "E:\Eigene Dateien\Ascaron Entertainment\Dar..." defined in line 203
Called from (C) function 'Create' in C defined in line ???

Source
--------------------------------
string "E:\Eigene Dateien\Ascaron Entertainment\Dar..." in line 262
 
Ganz richtig, das sind die Zeilennummern im alten Skript. Wäre das Neue aktiv und würde den Fehler produzieren, wären es ganz andere Zeilennummern. Hast du es denn auch umbenannt in PASSIV_053.lua und das vorherige im Mod-Unterordner "scripts" damit wirklich überschrieben? Andernfalls kann es nach dem Neuladen des Spielstands nicht funktionieren. Du kannst das alte Skript zwar auch behalten, musst es aber so umbenennen, dass es auf gar keinen Fall die Erweiterung ".lua" am Ende hat!

Ach ja, das Skript im Startbeitrag ist noch das alte, das darfst du nicht wieder nehmen, nur das in Antwort #524 angehängte mit der Versionsnummer 1.6!
 
Ich hab im Ascaron Ordner nach dieser Datei gesucht, und nach umbenennen von deiner Datei alle ersetzt die er gefunden hat.
Hab ja schon an meiner Copy und Paste Fähigkeit gezweifelt... aber irgendwie bin ich überzeugt, dass richtige getan zu haben. *lach*

Du hattest geschrieben, dass der Fehler schon beim betreten des Systems ausgelöst wird.
Zum testen hab ich einen alten Spielstand geladen, bevor ich überhaupt zu dieser Mission gekommen bin. Das Problem bleibt aber dasselbe...

Ich lade dir gleich nochmal die Datei hoch, die bei mir im Gameordner vorhanden ist.... sobald meine Frau mir den Fernseher wieder freigibt ;)
 
Ich habe dir mal deinen Spielstand hier angehängt, nachdem ich vom Kreuzer gestartet bin.

Es sind zwei Spielstände im rar-Archiv enthalten:


  • "Aufbruch zum Skaa-System (Start vom Kreuzer 1).dss"
    Mit dem alten Script und der gezeigten Änderung darin

  • "Aufbruch zum Skaa-System (Start vom Kreuzer 2).dss"
    Mit dem neuen Skript

Es haben beide problemlos funktioniert.
In beiden Spielständen ist der im alten Skript den Fehler verursachende Delinquent als Ziel markiert. :D
Das heißt, eigentlich sind es nicht die Schiffe selbst, sondern die Handelsstation, welche der Frachter durch den Fehler nicht mehr als Ziel erkannt hatte.

Zusätzlich habe ich noch ein Pic vom Mod-Ordner mit angehängt, um eventuelle Missverständnisse damit zu vermeiden.
Das der Verzeichnisname der Mod den Zusatz "ohne Skripts" hat, kannst du ignorieren, das ist mein Testordner.
Der Inhalt muss aber bei dir genauso aussehen.

BTW: Der Fehler wurde nicht beim Betreten des System ausgelöst, sondern ein paar Sekunden nach dem Start vom Kreuzer. Das wäre auch dann dasselbe geblieben, wenn du noch stundenlang auf dem Kreuzer gewartet hättest. Allerdings wird die Mission bereits beim Betreten des Systems erzeugt und enthielt da wohl schon den Fehler. Gestartet wird die Mission aber erst nach dem Verlassen des Hangars, womit der Fehler dann wirksam wurde. Erzeugung und Start einer Mission sind zwei Paar Schuhe! ;)

ot:
So, deine Frau darf vor dem Fernseher sitzen bleiben, ich war schneller. :ROFLMAO:
 

Anhänge

  • Aufbruch zum Skaa-System (Start vom Kreuzer).rar
    414,1 KB · Aufrufe: 169
  • DSO Mod-Ordner.png
    DSO Mod-Ordner.png
    20,1 KB · Aufrufe: 238
Zuletzt bearbeitet:
Hi Norbert,

ich kann auf jedenfall schon mal ein Super Dankeschön sagen (y)(y)(y)(y)

Hab gleich mal den zweiten Spielstand ausprobiert, weil ich mir ja schon sicher war, die Dateien richtig ersetzt zu haben. Und es funktioniert :D:D

Nur leider ist jetzt erstmal Zeit fürs Bett.. aber morgen Abend wird wieder geflogen ;)

Vielen Vielen Dank nochmal
 
Noch ein wichtiger Hinweis, da mir das gerade auffällt:
Ich hab im Ascaron Ordner nach dieser Datei gesucht, und nach umbenennen von deiner Datei alle ersetzt die er gefunden hat.
Diese Datei sollte es nur einmal geben.

Ascaron Ordner? Welchen meinst du denn damit?
Verwechsle bitte nicht das Spielverzeichnis (Installations-Ordner des Spiels) mit dem Mod-Ordner (unter "Eigene Dateien\Ascaron Entertainment\...").
Siehe hierzu auch den Screenshot im Spoiler DSO Mod-Verzeichnis und Bibliotheken-Ordner im Spielverzeichnis.

Links ist der Mod-Ordner zu sehen und rechts das Installationsverzeichnis des Spiels. Im Installationsverzeichnis sind zwar auch eine Menge originale Missionsskripts zu sehen, die ab dem DSO-Patch 1.3 mit auf der DVD ausgeliefert wurden, diese sind aber nicht aktiv, da sie alle außer den Funktionsbibliotheken (die lua-Dateien mit "Lib" im Namen) in die missions.bin kompiliert wurden, welche beim Start des Spiels geladen wird. Dort gehören von meiner Mod nur die Dateien (Funktionsbibliotheken) aus dem extrahierten Ordner "mission" hinein und sonst nichts! Missionsskripts der Mod wie diese PASSIV_053.lua müssen ausschließlich in das Unterverzeichnis "scripts" der Mod kopiert werden, wie ich es dir im Anhang der Antwort #536 oben gezeigt habe.


Eigentlich dachte ich ja, die Installation im Startbeitrag genau genug beschrieben zu haben, dennoch scheint es leider immer wieder zu Missverständnissen zu kommen. Im Modding Guide ist das ebenfalls ausführlich beschrieben worden, in Beitrag #2 habe ich auch den entsprechenden Auszug als Screenshot angehängt. Ich weiß nun wirklich nicht mehr, was ich denn noch tun oder schreiben soll, damit Installation und spätere Änderungen problemlos klappen. Wenn jemand Vorschläge hat, wie ich das vielleicht besser formulieren könnte, dann immer her damit. :)
 
Die Datei gibt es bei mir in dem Verzeichnis der aktuellen Installation auch nur einmal.
Allerdings installiere ich nie in das vorgegebene Verzeichnis, da Games bei mir auf einer anderen Platte liegen.
Ich habe aber auch noch aus einer alten Installation die Daten im Ascaron-Verzeichnis liegen, die ich nicht mehr genutzt habe, da ich Windows vor einiger Zeit neu installiert habe.
Und ich habe halt alle (auch die aus deiner extrahierten ZIP) mit der neuen ersetzt.

Es scheint aber doch am Spielstand gelegen zu haben, da ich mit deinem Spielstand ohne Probleme weiterspielen konnte. Mein Spielstand hingegen funktionierte einfach nicht.
 
Allerdings installiere ich nie in das vorgegebene Verzeichnis, da Games bei mir auf einer anderen Platte liegen.
Mache ich auch nicht, wie du in dem verlinkten Bild sehen kannst. Den Spielen, sonstigen Programmen und eigenen Dateien habe ich eine eigene Partition gegönnt, wo dann jeweils ein anderes logisches Laufwerk eingerichtet ist. In den Systempartitionen liegen nur noch solche Programme, die auf anderen Laufwerken Probleme verursachen oder nicht funktionieren würden. :)
Für die DSO-Mods ist lediglich die Verzeichnisstruktur in den "Eigenen Dateien" fest vorgegeben, auf welchem Laufwerk diese eigenen Dateien liegen, ist vollkommen egal.

...die Daten im Ascaron-Verzeichnis liegen,...
Ich weiß immer noch nicht, welches du damit meinst.:unsure: Das mit den Mods (Eigene Dateien) oder das, wo das Spiel installiert wurde?

Mein Spielstand hingegen funktionierte einfach nicht.
Komisch, genau den hatte ich ja hergenommen und nach dem Kopieren des geänderten Skripts in den "scripts"-Ordner der Mod problemlos ausführen können. Zwischen deinem oben angehängten Spielstand und den beiden von mir zurückgelieferten liegen nur wenige Sekunden Spielzeit.
 
Oben