[TC]Taktkonforms Scriptschnipsel

Hier können Diskussionen rund ums scripten und modden zu X3 Terran Conflict und Albion Prelude geführt werden.

Moderator: Moderatoren

Benutzeravatar
Comander-07
Schützen-Anwärter
Beiträge: 113
Registriert: Fr 06 Jan, 2012 1:41 pm
Lieblings X-Titel:

Beitrag von Comander-07 »

Naja, manches sollte lieber ein Traum bleiben,nicht war?
[Sieht aber schöner aus wenn man jetzt auf Info klickt xD ;) ]

Wenigstens bin ich jetzt mal wieder hingeflogen, machen die meisten bestimmt viel zu selten.
[EInfach ein genialer anblick, solange man nicht ranzoomt xD]

Durch einen Mod könnte man es allerdings hinbekommen. Naja, is ja auch nicht so wichti, dann bau ich se halt alle selbst [vorteil von einer Top Wirtschaft, dem HQ, und 5* Marines :P ]
Lucike
Senior-Schütze
Beiträge: 248
Registriert: Fr 30 Dez, 2011 7:51 pm
Lieblings X-Titel:
Wohnort: 127.0.0.1

Beitrag von Lucike »


Ich würde gerne hier mal einige Elemente aus meiner Befehlsbibliothek vorstellen, da oft nach solchen Sachen hier gefragt wird. Hoffentlich ist dieses Thema dafür passend.


lib.le.equip.ship.upgrades

Schiff komplett mit Laderaum, Triebwerk, Ruderoptimierung und Schilde ausrüsten.

Arguments
1: Ship , Var/Ship , 'Ship'

$Ship = das auszurüstende Schiff


lib.le.equip.ship.weapons

Schiff komplett mit allen möglichen Waffen intelligent ausrüsten.

Arguments
1: Ship , Var/Ship , 'Ship'

$Ship = das auszurüstende Schiff


lib.le.choose.product

Produkt aus einer nach Warengruppen (Subtypes) sortierten Liste auswählen.

1: Title , Var/String , 'Title'
2: Description , Var/String , 'Description'
3: Array.Ware , Value , 'not Array.Ware'

$Titel = Menütitel
$Description = Menübeschreibung
$Array.Ware = Nicht auswählbare Waren


Das ist natürlich nur ein kleiner Teil der Bibliothek. Auf Wunsch könnte ich das noch komplettieren.

Gruß
Lucike
Bild
Benutzeravatar
Inras
Angehender Ausbilder
Beiträge: 653
Registriert: Fr 12 Jun, 2009 5:45 pm
Lieblings X-Titel: X3:TC/AP
Wohnort: Gersthofen
Kontaktdaten:

Beitrag von Inras »

Da ich auf die Schnelle nix gefunden habe werf ich das einfach mal hier rein:

Ich möchte eine bzw. mehrere bestimmte Stationen finden und mir den/die
Standort(e) ausgeben lassen.

Der Grund ist der, dass ich im XRM seit langer Zeit keine Waffendealer mehr
finden kann und von dem Modder gesagt bekommen habe, dass das nicht
sein kann weil das nicht gescriptet ist sondern über den Editor so eingerichtet
wurde, dass die despawnen und nach einer weil wo anders neu spawnen. Nun
will ich sehen ob ich einfach nur pech habe und sie nicht gesehen hatte.

Ich kenne zwar den befehl find station type aber was noch so alles dazu ge-
hört ist was ganz anderes.

Danke schonmal.
Bild
Benutzeravatar
IRaven
Rekrut
Beiträge: 84
Registriert: Mi 29 Feb, 2012 6:08 pm
Lieblings X-Titel:

Beitrag von IRaven »

öhm in der enzyklopedie unter Frabriken -> Unbekanntes Objekt glaube ich findest du die.

Wenn du die also schon gesehen hast dann findest du sie da. (inkl. Sektorstandort)

Ansonsten mal per cheatpack alle Sektoren aufdecken und dann nochmal da gucken.

Meiner ist auch plötzlich nach Lehmannstrack's Vermächtnis geflüchtet und ich hab mir n Affen gesucht bis ich ihn dann in der Enzyklopedie gefunden habe xD
Benutzeravatar
Inras
Angehender Ausbilder
Beiträge: 653
Registriert: Fr 12 Jun, 2009 5:45 pm
Lieblings X-Titel: X3:TC/AP
Wohnort: Gersthofen
Kontaktdaten:

Beitrag von Inras »

Der neue Standort steht dort auch nur dann, wenn eines deiner Schiffe diese Station durch Zufall dort entdeckt hat. Einfach so steht die da nicht drinne.
Ich weis ist gut gemeint aber das habe ich schon lange geschaut. Kein einziger Waffenhändler ist mehr aufgelistet. Den Standort wechseln ist ganz normal denn das soll so sein. Ich hatte ja auch schon alle möglichen Waffenhändler entdeckt. Nach und nach sind sie verschwunden und hab sie nie wieder gesehen.
Edit: Habe über STM Cheatpack die Sektoren aufgedeckt. Wieder nix in der Enzyklopädie. Ich glaub mein XRM hat nen gravierenden Bug.
Bild
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Beitrag von Taktkonform »

Wenn Du den Stationstyp kennst, ist es ja kein Thema...

Code: Alles auswählen

<RetVar/IF> find station in galaxy: startsector=<Var/Sector> class or type=<Value> race=<Var/Race> flags=<Var/Number> refobj=<Value> serial=<Var/Stations Serial> max. jumps=<Var/Number> num=<Var/Number>
...damit sollte es gehen.
  • startsector = Sektor, der als Mittelpunkt genutzt wird (insofern wichtig, um den Parameter jump bedienen zu können
  • class or type = ist die Klassenbezeichnung oder Typklasse der Station (station, dock). Falls Du nicht weißt, zu welcher Klasse die Station gehört, bei der Eingabe des Befehls in den SE kannst Du unter Object Class Dir die einzelnen Typen und Klassen anzeigen lassen.
  • race = Eigentümerrasse
  • flags = gesonderte Suchpararmeter, wie etwa die Startflags der Plots, Waffenflags, Signale von Befehlen, Find_Nearest, Multiple, usw. (leider existiert für TC keine komplette Liste). Kann leer gelassen werden, durch Eingabe von NULL. Für Deinen Zweck wäre Find_Nearest interessant, da damit die zu Dir nächste Station ausgegeben wird, die die sonstigen Parameter erfüllt.
  • refObj = Das Referenzobjekt, das für das Flag Find_Nearest benötigt wird
  • serial = Beiname der Station (alpha, beta, usw.)
  • max.jumps = Angabe der maximalen Sprungweite, in der gesucht werden soll, vom startsector aus gesehen.
  • num = Anzahl der Stationen, die maximal übergeben werden sollen
Die Werte RefObj, maxDist, num, refpos, serial und flags können mit NULL bedient werden.

noch nen netten Tag
Taktkonform
Komm wir essen Oma - Satzzeichen können Leben retten!
Benutzeravatar
Inras
Angehender Ausbilder
Beiträge: 653
Registriert: Fr 12 Jun, 2009 5:45 pm
Lieblings X-Titel: X3:TC/AP
Wohnort: Gersthofen
Kontaktdaten:

Beitrag von Inras »

Das hat schonmal sehr geholfen. Muss das Referenzobjekt - wenn ich Find_Nearest verwenden will - eine ähnliche Station sein wie die die ich finden will oder muss ich mich und meinen Standort dort angeben damit das Script weis: "Nearest zu wo?"

Und nochwas:
Wo gibt das Script das denn dann aus? Muss ich nicht noch extra was in das Script schreiben um eine Nachricht zu erhalten oder zumindest einen Logbucheintrag? Ich frag so blöd weil ich mit sowas noch nie rumgespielt habe.
Bild
Striker304
Senior-Schütze
Beiträge: 200
Registriert: Di 14 Jun, 2011 6:54 pm
Lieblings X-Titel:
Kontaktdaten:

Beitrag von Striker304 »

Das Referenzobjekt kann alles sein. Es soll halt die Station ausgegeben werden, welche am nächsten zu dem Referenzobjekt liegt... Es macht also schon Sinn, z.B. dein eigenes Schiff anzugeben. Du kannst aber auch jedes andere Objekt angeben.

Ausgeben tut das ganze erst mal noch nichts. Du hast dann wahrscheinlich irgendwie sowas da stehen:

Code: Alles auswählen

$Station = find station in galaxy : [und hier dann die ganzen Parameter]
Damit wird die gefundene Station in der Variable $Station gespeichert, beziehungsweise, sofern mehrere Stationen gefunden werden und die Parameter das zulassen, werden die Stationen als Array in $Station gespeichert. Wenn du bei den Flags "Find_Nearest" angibst, solltest du aber kein Array bekommen, sondern nur die einfache Station (bin ich aber nicht sicher). Klarheit verschafft dir hier eine Ausgabe der Variable $Station, also sowas:

Code: Alles auswählen

write to player logbook $Station
So kannst du sehen, ob es ein Array ist oder einfach nur die Station.


Wenn du dann die einzelne Station in der Variable $Station gespeichert hast, kannst du folgendes machen:

Code: Alles auswählen

$Sector = $Station -> get sector
write to player logbook $Sector
Damit sollte dann der Sektor im Logbuch ausgegeben werden.

mfg
Striker
Bild
X3-FRPG || Joshua Donovan - USC-Söldner || Cai t'Scct - Yaki Krieger
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Beitrag von Taktkonform »

Ich dachte, die Logbuchausgabe wäre klar.^^
Danke Striker304.

noch nen netten Tag
Taktkonform
Komm wir essen Oma - Satzzeichen können Leben retten!
Benutzeravatar
Inras
Angehender Ausbilder
Beiträge: 653
Registriert: Fr 12 Jun, 2009 5:45 pm
Lieblings X-Titel: X3:TC/AP
Wohnort: Gersthofen
Kontaktdaten:

Beitrag von Inras »

Um eine Rückmeldung zu geben:
Das Script funzt einwandfrei. Kein wunder bei solche einer Einfachheit. Warscheins hätte ich das sogar selber rausgefunden wenn ich nur lange genug gesucht hätte. Aber wozu hat man so nette Leute wie euch die einem sehr viel Zeit einsparen können :D. Herzlichsten Dank nochmal.

ABER:
Mich hat das jetzt wiedermal neugierig gemacht. Wenn ich das Find Nearest wechlasse wird die Varibale automatisch ein Array? Wenn ich
diese dann als Array ausgeben will. Was genau muss ich dann zusätzlich noch machen? Wie in C++ eine Schleife basteln welche das Array durchzählt und nacheinander ausgibt?
Bild
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Beitrag von Taktkonform »

Ja, die Variable wird dann den Inhalt eines Arrays speichern.
Nur bei der Weiterverarbeitung der Arraydaten müsstest Du eine Schleife bauen, für die reine Ausgabe als Text nicht.

noch nen netten Tag
Taktkonform
Komm wir essen Oma - Satzzeichen können Leben retten!
Tired-Ricky
Anfänger
Beiträge: 44
Registriert: Do 15 Dez, 2011 9:11 pm
Lieblings X-Titel:

Beitrag von Tired-Ricky »

Hallo Taktkonform

Danke für aa.create.asteroid
Funktioniert bestens... ;-)

Gruss,
Ricky
Raumtraktor
Anfänger
Beiträge: 31
Registriert: Sa 28 Nov, 2009 6:38 pm
Lieblings X-Titel:
Kontaktdaten:

Beitrag von Raumtraktor »

Hallo alle zusammen,

wünsche Taktkonform und allen X3 Fans ein schönes und geruhsames
Weihnachtsfest und einen guten Rutch ins neue Jahr.


Hmm, freue mich auf den XTC -mod 2.0 der ja gerade erschienen ist.
also auch 2013 wird es nicht langweilig werden.

Dank dieser Seite und einigen Beschreibungen zum Thema modmanager und
x3Editor 2 gibt es für mich noch genügend zu probieren und entdecken.

Gruß

Raumtraktor
BDA81
Harmlos
Beiträge: 23
Registriert: Sa 13 Nov, 2010 9:05 pm
Lieblings X-Titel:

Re:

Beitrag von BDA81 »

BDA81 hat geschrieben:Danke Dir Taktform, hat wunderbar funktioniert. Wünschte ich wäre selber darauf gekommen. :oops:

Dank Dir kann ich jetzt sogar einen vollständigen Träger mit Jägern erstellen. Rein zu Testzwecken natürlich. :-D

Wenigstens habe ich die Scripts selber (ab-)geschrieben.

Eine Frage hätte ich gerade noch, welchen Befehl benötige ich denn, damit die Schiffe auf dem Träger den Träger auch verteidigen, der Träger wird zwar als Feind eklariert, aber die Schiffe auf dem Träger interessiert es nicht, das selbige von mir zerlegt wird.
Peinliche Frage, wie habe ich das damals geschafft. Ich schaffe es weiterhin einen Träger zu erzeugen, aber ohne die angedockten Schiffe. :evil:

Seit mehreren Stunden hänge ich nun an dem Problem herum und würde mir nun gerne den entscheidenden Hinweis wünschen. Ich glaubte die Schiffe in das Array einfügen zu können, aber vielleicht ist die Lösung viel offensichtlicher.
Benutzeravatar
Marvelous
Ausbilder
Beiträge: 725
Registriert: So 02 Jan, 2011 2:51 pm
Lieblings X-Titel:

Re: Re:

Beitrag von Marvelous »

BDA81 hat geschrieben: Peinliche Frage, wie habe ich das damals geschafft. Ich schaffe es weiterhin einen Träger zu erzeugen, aber ohne die angedockten Schiffe. :evil:

Seit mehreren Stunden hänge ich nun an dem Problem herum und würde mir nun gerne den entscheidenden Hinweis wünschen. Ich glaubte die Schiffe in das Array einfügen zu können, aber vielleicht ist die Lösung viel offensichtlicher.
Schiffe die auf einem anderen Schiff angedockt sind kann man erzeugen, wenn man in dem "create"-Befehl beim addto statt den Sektor einfach das Schiff angibt an dem sie angedockt sein sollen. Natürlich dann ohne xyz-Koordinaten.
Antworten