[SCR] Das Galactic News System (BBS 2.0) (V.105)

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

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

User avatar
enenra
Posts: 7150
Joined: Fri, 8. Apr 05, 19:09
x4

[SCR] Das Galactic News System (BBS 2.0) (V.105)

Post by enenra » Mon, 7. Dec 09, 11:49

Das Galactic News System

Willkommen zum Galactic News System. Da viele das ehemalige BBS-system in X3: Terran Conflict vermissen haben wir ein neues System entwickelt, das News in einer ähnlichen Art dem Spieler zur Verfügung stellt wie in X3: Reunion.

Installation:
Ausser dem PDF, welches nicht benötigt wird, sollte man alle Dateien (bzw. Ordner) in den X3: Terran Conflict Installationsordner kopieren. Dann muss man entweder ein neues Spiel starten oder ein bestehendes laden.

Für Spieler:
Um eine "Zeitung" zu öffnen muss man einen Hotkey in der "Steuerung"-Sektion des X3: Terran Conflict Optionsmenüs definieren. Nachdem dies getan ist, muss man nur noch diesen Hotkey betätigen um eine Zeitung zu öffnen. Das Galactic News System (GNS) wird dann eine Zeitung öffnen, dass der Rasse, der der aktuelle Sektor gehört, entspricht - vorausgesetzt dass diese Rasse auch eine Zeitung betreibt. Die angezeigten Artikel werden zufällig aus einer Liste von Artikeln die einer Rasse zugeordnet wurden, ausgewählt.

Für Skripter:
Da es für Mods vielleicht besser wäre, das GNS auf eine andere Weise verfügbar zu machen (zum Beispiel könnte ein MD-Skripter sich entscheiden NPCs zu erstellen, bei denen neue Zeitungen gekauft werden können), haben wir das möglich gemacht: Man muss nur das Setup-Skript anpassen sodass der Hotkey-Teil deaktiviert ist. Die Aktivierung des Skript das das GNS anzeigt kann nämlich von überall her geschehen. Dies ist eine der Massnahmen, die getroffen wurden, um das System so flexibel wie möglich zu gestalten.

Es gibt jetzt ein paar Variablen, die in den Artikeln (nicht den Titeln!) automatisch ersetzt werden. So wird zum Beispiel die Variable $PLAYERNAME$ mit dem Namen des Spielers ausgetauscht. Es gibt einige Variablen und alle sind im beiliegenden pdf dokumentiert.
Diese Funktion macht es leicht, statische Artikel zu generieren, die sich bei jedem neuen Anschauen verändern.

Darüber hinaus wollen wir erwähnen, dass einer unserer MD-Scripter, Jens Ka, eine MD-Library geschrieben hat, um das GNS nutzen zu können. Diese kann hier heruntergeladen werden. Mit Hilfe dieser Library ist das Einfügen neuer Artikel für Missionen einfacher, als mit dem normalen run_script.

Informationen zur finalen Version:
Alle Artikel von X3:Reunion wurden zu X3: Terran Conflict portiert und wurden als statische News eingefügt.
Es gibt nun jedoch ein Set an zusätzlichen Skripts, die es Skriptern und Moddern erlaubt, schnell und einfach dynamische News zum System hinzuzufügen.
Wir laden euch alle dazu ein, dieses System zu testen und wir sind besonders daran interessiert, Feedback von Skriptern und Moddern zu den dynamischen News-Skripts zu erhalten. :)

Eine ausführliche Dokumentation des Systems für Skripter und Modder ist im PDF verfügbar, welches im Download inbegriffen ist. (Nur in Englisch.)

Download: Galactic News Service Version 105

Dies ist einer Modding / Skripting Resource - bitte zögert nicht, es in euren eigenen Skripts und Mods zu benutzen! :)


Zur Zeit bekannte Probleme:
Nicht alle non-Englisch Textdateien sind voll übersetzt. (Ein paar Buttons etc. sind noch nicht übersetzt, die News Texte selber sind jedoch alle übersetzt. Englisch und Deutsch sollten komplett übersetzt sein.)

Changelog:

Beta 1
-Erstes öffentliches Release

Beta 2
- Rassen-Tags für dynamische News haben nicht richtig funktioniert. - Behoben
- Wenn ein Button in einem Artikel benutzt wurde, wurde die Zeitung geschlossen. - Behoben.
- Die News Titel wurden nicht über dem Artikel angezeigt, wenn er geöffnet wurde. - Behoben.

Finale Version
- Eine Clipboard-Funktion zum Speichern und späteren Lesen von Artikeln hinzugefügt.
- Die Argumente des Add-Skripts wurden geändert sodass es nun möglich ist, die Headline über einem Button zu veerändern. Die alte Argumentstruktur funktioniert nicht mehr!

Version 101
- Einige Argumente wurden für die Benutzung mit dem MD angepasst

Version 102
- Ein kleiner Bug, welcher zur doppelten Anzeige der ersten dynamischen Artikel führte wurde behoben.
- Unterstützung für Arrays von Rassen für das race.or.sector-Argument hinzugefügt. (nur SE)

Version 103
- einen kleinen Check für das add.news-Script hinzugefügt. (Damit wird verhindert, dass ein Artikel mit der gleichen ID zweimal eingefügt werden kann. Das war nur für die MD-Seite relevant, weil auf der SE-Seite bereits ein solcher Check vorhanden war.)
- neue Funktionalität: Es gibt jetzt ein paar Variablen, die in den Artikeln (nicht den Titeln!) automatisch ersetzt werden. So wird zum Beispiel die Variable $PLAYERNAME$ mit dem Namen des Spielers ausgetauscht. Es gibt einige Variablen und alle sind im beiliegenden pdf dokumentiert.
Diese Funktion macht es leicht, statische Artikel zu generieren, die sich bei jedem neuen Anschauen verändern.

Version 104:
- der Piepton beim Öffnen wurde entfernt - das konnte problematisch beim Ausführen aus einem Task heraus (statt mit der Taste) sein.

Version 105:
- kritischer Fehler behoben, der zu permanenter Anhäufung von dynamischen Artikeln führte und somit zu lags und freezes, wenn der Spieler das Menü nicht oft genug öffnete. In der Vanilla-Version kam das allerdings niemals vor - dort gibt es keine dynamischen Artikel

Links:

The Galactic News System (BBS 2.0) (EN)

Das X-Tended Team
Last edited by enenra on Fri, 23. Sep 11, 19:24, edited 10 times in total.

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Mon, 7. Dec 09, 12:00

Nur um die wirklich einfache Einbindung eigener dynamischer News zu verdeutlichen (Beispiel und Bilder sind mit der englischen Version gemacht, das tut der Verständlichkeit hoffentlich keinen Abbruch ;) ) - clicke die Vorschaubilder für größere Versionen

Code: Select all

001   $null = null
002   
003 @ $id = $null -> call script 'plugin.news.getid' : 
004 @ = $null -> call script 'plugin.news.add.news' :  identifier=$id  sector or race=Teladi  newstitle='this is the title of our news'  news article='this is the article of our news'  priority (0-100)=null  show only one time?=[TRUE]  max.duration to show news (secs)=3600  script to start=$script.to.start  headline for button='this is the headline above the button of our news'  text for button='this is the text for our button'
005   
006   return null
So sieht es aus, wenn man das GNS in einem Teladi-Sektor öffnet, wähle den Titel und das zweite Bild wird sich öffnen

[ external image ]




Der "button of our news" wird das definierte script starten (welches in unserem Beispiel keinen Wert hat)

[ external image ]

Der gesamte Artikel kann für eine Stunde in allen Teladi-Sektoren angeschaut werden und wird dann automatisch verschwinden. Da die "show only one time"-option auf [TRUE] gesetzt ist, kann dieser Artikel nur einmal angeschaut werden und wird danach entfernt.

Genauere Erläuterungen befinden sich im englischen Handbuch.

Lieutenant Colonel John S
Posts: 17
Joined: Sat, 14. Nov 09, 21:00
x3tc

Post by Lieutenant Colonel John S » Wed, 9. Dec 09, 15:33

gute arbeit ich bin begeistert :D danke für diesen mod :D
mach weiter so

User avatar
enenra
Posts: 7150
Joined: Fri, 8. Apr 05, 19:09
x4

Post by enenra » Wed, 9. Dec 09, 18:09

Da habe ich ganz vergessen noch anzufügen dass das Skript natürlich nicht von mir ist sondern ich dies hier im Namen des XTC Teams schreibe. :)

Update folgt.

Zusätzlich noch drei kleine Beispiele was das GNS z.B. anzeigen könnte:

- Wenn der Spieler erfolgreiche eine Mission beendet hat
- Wenn der Spieler eine Mission verpatzt hat
- Wenn ein Sektor vom Spieler übernommen wurde

User avatar
Dr_Rush
Posts: 107
Joined: Tue, 8. Dec 09, 21:10
x3tc

Post by Dr_Rush » Wed, 9. Dec 09, 22:16

Gut gemacht, finde das ist eine sehr passable Adaption für TC :D
mir hat das BBS doch sehr gefehlt, es ist einfach eine wichtige Komponente der Spielatmosphäre. Es war immer nett zu lesen was es so neues in der GdP gibt(in Reunion X-Tended gabs auch was für Terraner :P)
Keine Ahnung warum das Schwarze Brett rausgenommen wurde, das wär net nötig gewesen :gruebel:

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Thu, 10. Dec 09, 17:41

Nur um das vielleicht nochmals zu erwähnen: Das GalacticNewsSystem ist eine Modder's Resource, was so viel heißt, dass jedes Script oder Mod es nutzen kann, ohne dafür um Erlaubnis fragen zu müssen.

Es sieht sogar so aus, dass wir vom XTC-Team froh wären, wenn zusätzlich zu den statischen Vanilla-Texten auch noch dynamische Artikel anderer Scripts hinzukommen würden.


In diesem Sinne bin ich gerade dabei, mein eigenes Sektorübernahme-Script um diese Funktionen zu erweitern, d.h. es werden Artikel im GNS zu lesen sein, dass ein Spieler einen Sektor von einer Rasse übernommen hat, oder neu in Anspruch genommen hat, oder dass eine Rasse einen Sektor (vom Spieler) zurückerobert hat.

Darüberhinaus wird das GNS auch definitiv in dieser Form im XTC-Mod seinen Platz finden, lediglich auf die X3R-Artikel werden wir dabei verzichten, weil wir schon eine große Anzahl von neuen XTC-Artikeln geschrieben haben.


Gruß
Trickmov

User avatar
eMYNOCK
Moderator (DevNet)
Moderator (DevNet)
Posts: 2059
Joined: Thu, 21. Aug 03, 10:37
x4

Post by eMYNOCK » Wed, 16. Dec 09, 04:54

ahh... ich überreiche dir für die tolle übersetzung und die Threaderstellung eine riesig große Nividiumplakette mit deinem Namen darauf, enenra. :roll:

endlich wider ein bisschen mehr Leben im Universum (auch wenn Veteranen die BBS aus X² und X³ schon auswendig kennen werden)

die besten grüße an das XTC-Team und von dir wird auch noch viel erwartet Trickmov :D nich das am ende doch noch ein X4 auf den Markt kommt nur weil ihr so gute arbeit leistet

cheers

User avatar
enenra
Posts: 7150
Joined: Fri, 8. Apr 05, 19:09
x4

Post by enenra » Fri, 18. Dec 09, 14:18

Update auf Version 101.

Changelog:
- Einige Argumente wurden für die Benutzung mit dem MD angepasst .

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Fri, 18. Dec 09, 14:28

Da jetzt auch die Verwendung mit dem MD funktioniert, hier ein funktionierender Code-Auszug:

Code: Select all

				<run_script script="plugin.news.add.news">
				<scriptargs  comment="start inclusion into GNS">
					<scriptvalue datatype="string" datavalue="id01" comment="id, which is needed for manual removal, so use a unique string, but not only numbers as string"/>
					<scriptvalue datatype="string" datavalue="Teladi" comment="race definition, where article can be shown, the races are defined in 9500-L0XX.xml, standard are Argon,Boron,Split,Paranid,Teladi,Pirates,Goner,Terran. This is case sensitiv for race-spelling and commata in this form. So 'Boron,Paranid' will go for these, but 'Boron, Paranid' not! 9500 could be changed for mod-usage"/>
					<!--<scriptvalue datatype="object" datavalue="{this.ship_found}" comment="any object, which defines the sector"/>-->
					<!--<scriptvalue datatype="integer" datavalue="0" comment="read by SE as null, defines this article for all sectors"/>-->
					<scriptvalue datatype="string" datavalue="this is the title of our news" comment="this is the title of our news"/>
					<scriptvalue datatype="string" datavalue="this is the article of our news" comment="this is the article of our news"/>
					<scriptvalue datatype="integer" datavalue="0" comment="priority - no function (1/0 - true/false"/>
					<scriptvalue datatype="integer" datavalue="1" comment="show only one time? (1/0 - true/false)"/>
					<scriptvalue datatype="integer" datavalue="3600" comment="duration in seconds"/>
					<!-- the following arguments should be skipped by MD, though can be used for starting the defined SE-script-->
					<scriptvalue datatype="string" datavalue="{value@script.to.start}" comment="script to start"/>
					<scriptvalue datatype="string" datavalue="this is the headline above the button of our news" comment="this is the headline above the button of our news"/>
					<scriptvalue datatype="string" datavalue="this is the text for our button" comment="this is the text for our button"/>
                </scriptargs>  
				</run_script>
Das Ergebnis ist das gleiche wie in dem obigen SE-Beispiel (das mit den Bildern), die Code-Zeilen als Kommentar sind Beispiele für andere Möglichkeiten des Arguments "sector or race"
Last edited by Trickmov on Sun, 10. Jan 10, 14:24, edited 1 time in total.

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Mon, 4. Jan 10, 17:48

Update auf Version 1.02:

http://downloads.thexuniverse.us/XTC_GN ... temV102.7z

Change log:

- kleinen Fehler bereinigt, der dazu führte, dass der erste dynamische Artikel zweimal angezeigt wurde
- Unterstützung für array mit Rassen als sector.or.race-argument hinzugefügt (nur SE)

User avatar
Flemmi
Posts: 105
Joined: Fri, 30. May 08, 10:33
x4

Post by Flemmi » Thu, 25. Feb 10, 11:18

schön wäre es natürlich wenn die Zeitung das Universum wiederspiegeln würde. z.B. wenn eine Station zerstört wird das wird gesagt wo und wann oder wann das bekannt wurde. oder wenn es schlachten gibt mit vielen Verlusten das dies auch angekündigt wird bzw. berichtet. sonst mach eine Zeitung nicht viel her wenn da nichts passiert. weil das was ich HIER sehe ist doch eher ein nice to have

oder sehe ich das falsch?
***modified*** und ***Vanilla*** und auf beides stolz
Glaube es oder nicht aber das ist die Unterseite eines Schweren Zentauers Prototypen (Ex-Goner-Besitz)
mein Avatar Bild ist ein Teil davon sieht aber aus wie der Oberkörper einer Roboterfrau (Xenon?)
"Der Geist ist wie ein Fallschirm - er funktioniert nur, wenn er offen ist." - Thomas Dewar (1864 - 1930)

User avatar
enenra
Posts: 7150
Joined: Fri, 8. Apr 05, 19:09
x4

Post by enenra » Thu, 25. Feb 10, 11:37

Flemmi wrote:schön wäre es natürlich wenn die Zeitung das Universum wiederspiegeln würde. z.B. wenn eine Station zerstört wird das wird gesagt wo und wann oder wann das bekannt wurde. oder wenn es schlachten gibt mit vielen Verlusten das dies auch angekündigt wird bzw. berichtet. sonst mach eine Zeitung nicht viel her wenn da nichts passiert. weil das was ich HIER sehe ist doch eher ein nice to have

oder sehe ich das falsch?
Das ist es, was wir dynamische News nennen. 100% möglich mit diesem Grundgerüst. Das GNS ist ja auch dazu gedacht, dass Scripter es benutzen und erweitern. Da ist sogar noch einiges mehr möglich. :)

Von unserer Seite her sind im GNS aber keine dynamischen News enthalten. Die sparen wir uns für den XTC auf. ;)

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Mon, 24. May 10, 12:23

Update auf Version 1.03:

GNS v1.03

Change log:

- einen kleinen Check für das add.news-Script hinzugefügt. (Damit wird verhindert, dass ein Artikel mit der gleichen ID zweimal eingefügt werden kann. Das war nur für die MD-Seite relevant, weil auf der SE-Seite bereits ein solcher Check vorhanden war.)

- neue Funktionalität: Es gibt jetzt ein paar Variablen, die in den Artikeln (nicht den Titeln!) automatisch ersetzt werden. So wird zum Beispiel die Variable $PLAYERNAME$ mit dem Namen des Spielers ausgetauscht. Es gibt einige Variablen und alle sind im beiliegenden pdf dokumentiert.

Diese Funktion macht es leicht, statische Artikel zu generieren, die sich bei jedem neuen Anschauen verändern.


Darüber hinaus wollen wir erwähnen, dass einer unserer MD-Scripter, Jens Ka, eine MD-Library geschrieben hat, um das GNS nutzen zu können. Diese kann hier heruntergeladen werden. Mit Hilfe dieser Library ist das Einfügen neuer Artikel für Missionen einfacher, als mit dem normalen run_script.

User avatar
enenra
Posts: 7150
Joined: Fri, 8. Apr 05, 19:09
x4

Post by enenra » Tue, 25. May 10, 14:48

OP wurde mit neuen Informationen und dem Update ergänzt. :)

Anti-Paranoid
Posts: 260
Joined: Thu, 16. Jul 09, 17:35
x4

Post by Anti-Paranoid » Thu, 10. Mar 11, 20:25

Im Xtended Mod gibts per GNS die Möglichkeit an ner Lotterie teilzunehmen.
Gibt irgend ein "Script-Addon" oder was in der Art auch für ne Vanilla/Mod Version?

Beste Grüße!

User avatar
Sir Squallus
Posts: 687
Joined: Thu, 10. May 07, 17:45
x4

Post by Sir Squallus » Mon, 12. Sep 11, 21:20

Mal eine Frage . Ist es möglich GNS so einzustellen das ich, in der nähe einiger ausgewählter Stationen Nachrichten "abfange, bzw simuliere das GNS die Daten der Stationsbezitzer Hackt?

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Mon, 12. Sep 11, 21:29

Sir Squallus wrote:Mal eine Frage . Ist es möglich GNS so einzustellen das ich, in der nähe einiger ausgewählter Stationen Nachrichten "abfange, bzw simuliere das GNS die Daten der Stationsbezitzer Hackt?
Mit einem Extra-Script, was ständig die Entfernung des Spielerschiffs zu Stationen überprüft und bei Anäherung dann die Aktion ausführt, sollte das kein Problem darstellen... also dann nicht mehr per hotkey aufrufen, sondern per Annäherungsscript.

Problematisch dabei ist allerdings, dass Du nicht alle Umstände, in denen Du Dich befindest, überprüfen kannst. Z.B. wenn Du gerade irgendetwas wichtiges anderes machst, dann kann das ziemlich störend sein, wenn auf einmal das Menü aufgeht.

In XTC haben wir auch eine Möglichkeit, per "Gespräch" mit einer Person an einer Station das GNS-Menü (während man dort gedockt ist) zu öffnen.

User avatar
Sir Squallus
Posts: 687
Joined: Thu, 10. May 07, 17:45
x4

Post by Sir Squallus » Mon, 12. Sep 11, 21:53

Wenn ich das mache n werde dan soll das im laufe einer Mission bei einer ganz bestimmten Basis sein, bzw immer nur bei der einen Basis, die ist Feindlich, also wartet man darauf... oder die "daten" werden in den Computer geladen, und wenn man in sicherheit ist kan man diese per Hotkey lesen... hmmm

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Tue, 13. Sep 11, 10:05

Ich glaube, das GNS ist die falsche Plattform dafür. Wenn es um eine Mission geht, bei der Du an der Station irgendeine bestimmte Information erhälst, dann würde ich als Spieler erwarten, dass man nicht in der Zeitung, sondern per direkter Mitteilung darüber informiert wird.

Wie dem auch sei, Du kannst auch einen speziellen Artikel in das GNS einfügen in dem Moment, wenn das Annäherungsskript ausgelöst wird, steht alles im beiliegenden pdf. Wenn Du zusätzlich das GNS dabei öffnen willst, musst Du nur das show-script aufrufen (von Deinem Annäherungskript aus).

User avatar
Trickmov
Posts: 1431
Joined: Wed, 7. Nov 07, 19:48
x3tc

Post by Trickmov » Fri, 23. Sep 11, 14:15

Update auf Version 1.05:

GNS v1.05

Change log:

v1.04:
- der Piepton beim Öffnen wurde entfernt - das konnte problematisch beim Ausführen aus einem Task heraus (statt mit der Taste) sein.

v1.05:
- kritischer Fehler behoben, der zu permanenter Anhäufung von dynamischen Artikeln führte und somit zu lags und freezes, wenn der Spieler das Menü nicht oft genug öffnete. In der Vanilla-Version kam das allerdings niemals vor - dort gibt es keine dynamischen Artikel

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”