Logbuch erweitern, ist das möglich ?

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Logbuch erweitern, ist das möglich ?

Post by XFiles »

Hallo @all

Mal ehrlich, eins der schönsten Feature des Spiels ist das offene Ende, oder kurz gesagt die Möglichkeit zu tun und zu lassen was man will.

Nur gibt es da viele Ereignisse im Spiel Die ich * wenn ich meinen Speicher nach ein Paar Jahren oder so mal wieder lade * gern Dokumentiert haben möchte.

:!: Hier ein paar beispiele:

- Wann, Wo wurde die erste Fabrik gekauft und gebaut ?
- Welches war mein erstes Schiff und wie viel Flugstd. hat es?
- Zu welchem Zeitpunkt hatte mein Kontostand das erste mal die Millionen
erreicht ?
- Was war die beste Fahrt eines Sektorhändlers ?
- Wie viel Credits wurden in den Letzten 20 ZINZA Minuten gemacht usw...

Mir würde da noch so einiges einfallen, aber das sollte zum Verständnis erst mal reichen.

:!: Hier meine Wünsche zu dem Thema:

1. wäre es ein Traum nur bestimmte Log-einträge zu löschen und alle anderen zu behalten.
2. verschiedene Logbücher für die einzelnen Bereiche (Kampf, Handel, Homebanking, Story, Player...)

Kampf = alle Meldungen die mit Kampfhandlungen
zu tun hat (ich weiß ohne mich wär Ihr
nie drauf gekommen :D )

Handel = diese Erklärung spare ich mir

Hombanking = hier sollen über einen gewissen Zeitraum
alle Transaktionen Protokolliert werden.
(Am besten so gegliedert wie die
Reichtum Tabelle)

Story = Naja alles was in der Geschichte so los
war nach Missionen gegliedert

Player = Detailliertere Angaben wie unter Pilotinfos
(z.b. welches LW. haben die angestellten
Sektorhändler?, wie hat sich der Rang in
letzter Zeit verändert?)

Benutzerdefiniert = Eine Liste mit frei wählbaren Namen wo
Log-einträge hinein verschoben werde
können.

3. wie bei X-Tension alle Neuen Log-einträge in einer anderen Farbe


:?: Und jetzt meine Frage:

1. Ist das überhaupt zu realisieren ?
2. geht das nur über ein Mod (X Files ändern) oder kommt man da mit einem Script weiter ?
3. Wie ist eure Meinung zu diesem Vorschlag ?

gruß

OK
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Post by XFiles »

Bitte erlöst mich von meiner Unwissenheit............. :(
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
TitanX
Posts: 38
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by TitanX »

Hi!

Also deine Idee ist ja genial. Ich fände es toll, wenn man das realisieren
könnte. Nun kenne ich mich im scripten noch nicht soooo gut aus (fange
auch grade erst an dahinter zu steigen), aber ich denke, damit ist es
wohl nicht zu machen.

Ob es per Mod geht :?: .... Hmm, ehrlich gesagt keine Ahnung, aber ich
habe bald die Vermutung, das dafür direkt an den Programm-Dateien
etwas geändert werden muß.

Also mal der Aufruf an Egosoft, so etwas in einem nächsten Patch
unterzubringen, wenn es nicht zu viel Arbeit macht, denn die Idee ist
wirklich genial. Zumindest die Option einzelne Beträge zu löschen
wäre schon sehr hilfreich, denn wozu muß ich nach einiger Zeit noch
wissen, wo welcher Pirat ausgestiegen ist. Ebenso interessieren mich die
Logs erledigter Aufträge auch nicht mehr, wobei ich mir die Missions-Logs
schon noch gerne aufheben würde.
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Post by XFiles »

:D *freu* danke für deine Aufmeksamkeit.

Ja ich kenn mich leider auch nicht mit scripten aus. Bin gerade dabei ein Script zu erstellen das bei auswahl eines bestimmten Schiffes einen Logeintrag macht "Ist die "Name des Schiffs" nicht ein Schönes Schiff!"
Bitte nicht lache.... aber wenn man kein Plan hat, kann man nur Schritt für Schritt weiterkommen.
Dies wird dann über einen Eintrag "Log Eintrag setzten" im Scezialcommand Menü ausgeführt. Wenn das funktioniert, kann ich wenigstens schon mal ein Befehl im Menü hinzufügen.
Aber bis jetzt kenn ich nur die folgenden Log Befehle und weiß no net genau was welcher macht:

write to player logbook <Value>

write to player logbook: sprintf: fmt=<Var/String>,<Value>,<Value>,<Value>,<Value>,<Value>

write to player logbook: sprintf: pageid=<Var/Number> textid=<Var/Number>,<Value>,<Value>,<Value>,<Value>,<Value>

<RefObj> write to logbook <Value>


Kann das mal jemand für einen Noob verständlich machen :?:
und weiß jemand ob es noch weitere möglichkeiten gibt :?:
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
User avatar
MrMilti
Posts: 151
Joined: Wed, 6. Nov 02, 20:31
x2

Post by MrMilti »

Also der einfachste ist natürlich der erste.
Da musst du nur einen Wert für <Value> eingeben.
Das kann entweder eine Variable, die du im Skript verwendet hast, sein oder einfach ein String, wie auch immer. Das Problem ist, mit dem Befehl kannst du immer nur einen Wert ins Logbuch schreiben lassen.
Man kann also nicht so verschachtelt schreiben wie "Ihr Schiff <Schiff> braucht Hilfe" oder etwas ähnliches.

Ich hab mir mal die Handelscomputererweiterung MK3 angeschaut. Die verwenden da den dritten Befehl und mit pageid laden die Zeilen, die in einer xml Datei im t Verzeichnis liegen. Bin aber noch nicht ganz dahinter gekommen, wie das funktioniert. Mit dem Befehl könnte man dann alles schreiben lassen, worauf man lust hat.

Den zweiten Befehl checke ich leider überhaupt nicht, da egal was ich für <fmt> eingebe er mir immer nur null ins Logbuch schreibt, egal wieviele Einträge ich bei <Value> hinein schreibe.
TitanX
Posts: 38
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by TitanX »

Den zweiten Befehl checke ich leider überhaupt nicht, da egal was ich für <fmt> eingebe er mir immer nur null ins Logbuch schreibt, egal wieviele Einträge ich bei <Value> hinein schreibe.
Also bei mir funktioniert es. Bei <fmt> einwandfrei. Ich habe mal zum Test ein kleines Script geschrieben, das folgendes ausgibt:
"Mein jetztiges Schiff ist : [PLAYERSHIP]", wobei [PLAYERSHIP] eine Variable ist, die dein jetztiges Schiff angibt.

Natürlich will ich euch das Script nicht vorenthalten, also hier ist es:

Code: Select all

001   $CurShip = [PLAYERSHIP]
002   $LogEintrag = 'Mein jetztiges Raumschiff ist ' + $CurShip
003   write to player logbook: sprintf: fmt=$LogEintrag, null, null, null, null, null
004   return null
So, viel Spaß damit.
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Post by XFiles »

Danke @MrMilti & TitanX für eure Posts.

Des werde ich später gleich ausprobieren.
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Logscript

Post by XFiles »

Hat den jemand ein script wo Log Einträge erzeugt werden. Ich hab mich bis jetzt nur mit der MK3 rumgeschlagen. Vielleicht bringt ein weiteres Beispiel licht ins Dunkle. wobei ich auch erst den Eintrag von TitanX testen muss :wink:

Nur komm ich leider net so oft zum testen..... :cry:
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Die Erste Variable enthält den Text alle weiter enthalten Daten, die in den Text eingefügt werden.

Code: Select all

002   $MeinSchiffsname="Manni"
003   $Typ="TL"
004   write to player logbook: sprintf: fmt="Mein Schiff %s ist ein %s!", $MeinSchiffsname, $Typ, null, null, null

Ausgabe: "Mein Schiff Manni ist ein TL"
Hoffe geholfen zu haben
TitanX
Posts: 38
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by TitanX »

Also eine ältere Version der Teladi-Handelssoftware macht das.
Allerdings wurde es wohl aus der neusten Version entfernt,
soweit wie ich es in der ReadMe lesen konnte
(habe die mir auch erst heute gezogen und noch nicht getestet).

Wenn du willst, kann ich dir die alte Version ja mal per eMail schicken,
denn die gibt bei mir nur noch Meldungen aus. :roll:
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Post by XFiles »

TitanX wrote: Wenn du willst, kann ich dir die alte Version ja mal per eMail schicken,
denn die gibt bei mir nur noch Meldungen aus. :roll:
Au ja mach das mal. THX
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
TitanX
Posts: 38
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by TitanX »

Hey XFiles!

Sorry, daß ich erst jetzt wieder antworte. Ich hatte dir zwar schonmal ne PM geschickt, aber du hast bis jetzt nicht geantwortet. Also wenn ich dir mal die alte Version der Teladi-Handelssoftware schicken soll, brauche ich mal deine eMail-Addy.

vG TitanX
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Post by XFiles »

Hau di TitanX

Kein Thema, mir geht’s genau so. Komm zur Zeit auch zu nichts mehr, auch nicht zum Zocken :heuldoch: :tuichdoch: :(

Naja alles zu seiner Zeit........

Meine Mail ist lion77@web.de

Schon Mal THX im Voraus.

Ach ja, bevor ich es vergesse. Im ModingKid was mit der v 1.3 rausbekommen ist, steht auch etwas über die Logfunktion. Nur ist mein Englisch leider nicht das beste.... :cry:

Warum kann man das nicht für jeder Sprache veröffentlichen in der das Spiel auch erhältlich ist ??? .... zumal kommt da auch noch dazu das EGOSOFT ein Deutscher Hersteller ist.

ja ja ich weiß Englisch ist die Weltsprache bla bla.......

wäre auf jeden Fall ne richtig Tolle Sache!!!
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

Der Teladi-Autotrader stammt nicht von Egosoft.
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
TitanX
Posts: 38
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by TitanX »

Moonraven schrieb
Der Teladi-Autotrader stammt nicht von Egosoft.
Wer hat denn das behauptet :?:
User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven »

Warum kann man das nicht für jeder Sprache veröffentlichen in der das Spiel auch erhältlich ist ??? .... zumal kommt da auch noch dazu das EGOSOFT ein Deutscher Hersteller ist.
Ich bezog das auf den Teladi-Autotrader........hoffe das ich da nix falsch verstanden hab.:)
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]
TitanX
Posts: 38
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by TitanX »

Achso....

Nee, da hast du was falsch verstanden. Der Satz (den du zitiert hast) bezog sich auf das Moding-Kit, nicht auf den Teladi-Trader.
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Post by XFiles »

@TitanX Danke fürs Antworten :-)
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
XFiles
Posts: 196
Joined: Fri, 6. Feb 04, 08:07
x4

Post by XFiles »

Ich habe vor Zwei Tagen einen neuen Speicher angefangen.

Hab absolut keinen Bock auf "modify" !!! Auserdem hab ich mich
etwas zuviel mit dem Script Editor auseínander gesetzt und wenn
ich jetzt nicht die Notbremse gezogen hätte wäre das Spiel bald in
der Ablage gelandet......... Noch mal Glück gehabt.

Ich danke auf jeden Fall allen für die anregungen in diesem Thread.

Ich wünsch weiterhin gute Geschäfte und viel Spaß beim Zocken

P.S. jetzt brauch ich nätürlich signierte Scripte :D
Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Aber wer
sie weiß und sie eine Lüge nennt, der ist ein Verbrecher

Bertold Brecht
User avatar
Spotxxl
Posts: 583
Joined: Tue, 10. Feb 04, 17:29
x3tc

Post by Spotxxl »

TitanX wrote:
Also bei mir funktioniert es. Bei <fmt> einwandfrei. Ich habe mal zum Test ein kleines Script geschrieben, das folgendes ausgibt:
"Mein jetztiges Schiff ist : [PLAYERSHIP]", wobei [PLAYERSHIP] eine Variable ist, die dein jetztiges Schiff angibt.

Natürlich will ich euch das Script nicht vorenthalten, also hier ist es:

Code: Select all

001   $CurShip = [PLAYERSHIP]
002   $LogEintrag = 'Mein jetztiges Raumschiff ist ' + $CurShip
003   write to player logbook: sprintf: fmt=$LogEintrag, null, null, null, null, null
004   return null
Wo sind diese befehle?????? Erklärs mir bitte nochmal-.-
Ein Drache ist ne feine Sache :)

Return to “X²: Die Bedrohung - Scripts und Modding”