[SCR] [Ver1010] Bojentechniker. Sprungbojen automatisiert ausbringen

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

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

cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

[SCR] [Ver1010] Bojentechniker. Sprungbojen automatisiert ausbringen

Post by cer13 »

Sprungbojentechniker
nach ca. 60 per Hand gesetzten Sprungbojen hatte ich keine Lust mehr und hab mich mal dran gemacht das Ganze zu automatisieren.

Es handelt sich bei meinem Script um eine Erweiterung für Lucikes Sprungbojen.

Skript Voraussetzungen:
- Lucikes Befehlsbibliothek
- Lucikes Sprungbojen

Wie arbeitet der Sprungbojentechniker?

Man nehme ein M5, M4 oder TS mit Navigationssoftware MK1 belade es mit einigen Bojen und los gehts. Es werden abhängig von den Stationen im Sektor möglichst optimale Positionen für Sprungbojen errechnet, sodass sich möglichst kurze Strecken zwischen Bojen und Stationen ergeben. Das Schiff fliegt hin und wirft die Bojen aus.
Es kann über ein Menü eingestellt werden wieviele Bojen gesetzt werden. Ebenfalls ist es möglich ältere Bojen zu zerstören und Handelsstationen etc in die Berechnungen einzubeziehen.

Kleine Anleitung:

Das Kommando findet man im Spezialmenü des Schiffs.
Kommando starten:
[ external image ]

Dann einstellen wie viele Bojen gesetzt werden und ob Docks berücksichtigt werden sollen. Außerdem gehts von hier weiter zum Sektormeü.
[ external image ]

Wird im Sektormenü nichts eingestellt, so wird nur der aktuelle Sektor des Schiffs abgearbeitet. Auch wenn dieser eigentlich auf der Ausnahmeliste steht.
[ external image ]

Anmekrung: hat euer Schiff einen Sprungantrieb eingebaut wird der Bojentechniker diesen auch nutzen und kauft Energiezellen im nächsten SKW.



Voraussetzungen:
-Schiff der Klasse M5, M4 oder TS
-Navigationssoftware MK1
-Unionpilot (oder das Schiff muss an einer Station angedockt sein)



Download


Changelog:

06.04.2010
- Einführung einer Routenplanung
- Vorbereitung für SRD support
- kleinere Änderungen
- kleinere Fehler behoben

05.04.2010
- Nutzung Lucikes' Flugroutine, sowie Unionpiloten
- Vorbereitung für Einführung der Routenplanung
- kleinere Fehler behoben

03.04.2010:
- Erstausgabe

geplante Updates:
:arrow: Weitere Vorraussetzungen zur Ausführung bestimmen
:arrow: Sprungtore zur optimierung einbeziehen
:arrow: Gewichtung verschiedener Stationstypen


Kann nicht versprechen, dass ich es schaffe alles davon vernünftig umzusetzen aber ich werd mich bemühen, falls Interesse besteht.

Technisches:
Kommando: COMMAND_TYPE_SPECIAL_40
T-File und Sprachseite: 7801

Und natürlich ein fettes Danke an Lucike.

MfG
cer13
Last edited by cer13 on Tue, 6. Apr 10, 10:02, edited 4 times in total.
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Jetzt weiß ich auch warum du die Sprungstatistik für die Sprungbojen brauchtest. ;)

Gruß
Lucike
Image
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

Die wird bisher im Skript nicht genutzt.

Aber bei der Gewichtung werd ich die wahrscheinlich noch nutzen.

Als ich nach der Statistik gefragt habe war das Skript hier noch nichtmal ansatzweise in Planung. Es hat mich einfach nur mal interessiert auf welche Bojen ich auf keinen Fall verzichten darf, bzw wo ich noch optimieren muss. :wink:
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Ach so. Ist aber bestimmt interessant, wie oft die automatisch ausgesetzen Bojen auch tatsächlich genutzt werden.

Gruß
Lucike
Image
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

Momentan ist deine Flugroutine viel interessanter.
Saß heut fast den ganzen Tag davor, aber versteh nur Bahnhof :D naja, kommt noch...

will unbedingt SRD unterstützung für den Bojensetzer^^



hoffnungsvoll
cer13
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

cer13 wrote:Momentan ist deine Flugroutine viel interessanter.
Saß heut fast den ganzen Tag davor, aber versteh nur Bahnhof :D naja, kommt noch...
Klar, das kommt noch. ;) Du darfst nicht vergessen. Jede Flugbewegung, die ein Schiff in X durchführen kann, kann durch diese Routine erledigt werden. Oben drauf noch Sprungbojen ermitteln und anspringen. Auch eine erweiterte Kommandoanzeige ist möglich, wie z.B. "Fliege zu Position ... Argon Titan". Nicht zu vergessen der Ladecomputer, den ich für Händler noch nicht aktiviert habe. Ich trau mich nicht, die Händler sind jetzt schon viel zu gut. ;)
cer13 wrote:will unbedingt SRD unterstützung für den Bojensetzer^^
Unterstützung durch den SRD? Dann muss aber ein Unionpilot in das Baustellenschiff. ;)

Vielleicht dieser Werdegang?
<t id="300">Lehrling</t>
<t id="301">Techniker</t>
<t id="302">Cheftechniker</t>
<t id="303">Mechaniker</t>
<t id="304">Chefmechaniker</t>
<t id="305">Ingenieur</t>
<t id="306">Chefingenieur</t>
Gruß
Lucike
Image
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

Nicht zu vergessen der Ladecomputer, den ich für Händler noch nicht aktiviert habe. Ich trau mich nicht, die Händler sind jetzt schon viel zu gut.
oha, das wär was. Die Bojen werden momentan teilweise ca 1km an die Station gebaut. Führt IS vermutlich zu Problemen, aber OOS ist das sehr mächtig. Mit aktiviertem Landecomputer könnte ich den Abstand vergrößern, damit IS weniger Probleme und trotzdem noch Zeitgewinn.
Dann muss aber ein Unionpilot in das Baustellenschiff. Wink
jap, das ist mir bewusst. Da ich momentan versuche aus dem Prospektorskript deine Flugroutine zu extrahieren hat der Pilot wohl vorerst diese Dienstgrade, wobei ich die Beförderung vorerst deaktiviert lasse und den Sprungantrieb sofort verfügbar mache.
Wiegesagt, vorerst...

Der von dir vorgeschlagene Werdegang klingt jedenfalls interessant. Mit T-Files bin ich derzeit leider noch auf Kriegsfuß... kommt auch noch^^

So... nu wieder an die Arbeit.
Hach, ich liebe es mich durch Fremdcode zu wühlen

motivierte Grüße
cer13
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Du kannst dir ja mal die Urversion der Flugroutine anschauen. Sie stammt noch aus X2. Es ist zwar nicht die erste Version, aber die älteste, die ich finden konnte. ;)

http://www.lucike.info/x3_terran_confli ... object.xml
(anklicken zum Anschauen)

Dabei ist mir doch tatsächlich die erste Version der Raketenabwehr Moskito aus X2 in die Hände gefallen. Das war im August 2004. :)

http://www.lucike.info/x3_terran_confli ... roller.xml
(anklicken zum Anschauen)

Code: Select all

---------------------------------------------------------------------------
- Raketenabwehr Moskito                                                   -
---------------------------------------------------------------------------

Version      : 1 vom 11.08.2004
X²           : Version 1.4 (Update 1.4)
Scriptengine : Version 25
Autor        : Lucike (http://www.egosoft.com/x2/forum/index.php)

---------------------------------------------------------------------------


Aufgabe      : Diese Software schützt das eigene Schiff vor Raketen-
               angriffen. Dafür werden Raketen der Klasse Moskito
               benötigt, sowie die Kampfsoftware MK2.
 
               Die Kampfsoftware MK2 und Raketen der Klasse Moskito
               bekommt man in sehr vielen Ausrüstungsdocks der
               verschiedenen Völker.

Handhabung   : Die Software wird über die Kommando-Slots der Schiffe
               gestartet. Nun sucht die Software nach feindlichen Raketen
               und feuert bei einem Angriff Raketen der Klasse Moskito auf
               die feindlichen Raketen. Um die Software zu beenden muss
               der belegte Kommando-Slot einfach wieder gelöscht werden.
               Die Software beendet sich auch, wenn keine Raketen der
               Klasse Moskito vorhanden sind oder verbraucht wurden.

               Die Software kann auch bei Flügelmännern oder Handels-
               schiffen, die durch Autopiloten geflogen werden,
               installiert werden.

---------------------------------------------------------------------------
Wie niedlich. ;)

Gruß
Lucike
Image
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

zu X2-Zeiten hab ich noch Vanilla gespielt :oops:

oha, die sind ja mal echt übersichtlich.
Sind aber ganz schöne Monster draus geworden so über die Jahre...^^

stand der Dinge:
Flugroutine kopiert, aber hälfte auskommentiert, da ichs nicht verstehe :D

naja, mal sehn ob ichs im laufe des Abends noch irgendwie fertig bekomm
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

neue Version ist draußen: 1000


05.04.2010
- Nutzung Lucikes' Flugroutine, sowie Unionpiloten
- Vorbereitung für Einführung der Routenplanung
- kleinere Fehler behoben

Als nächstes setze ich mich wohl an die Routenplanung
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

OhOh, der erste fremde Unionpilot. ;)

Im aktuellen Download fehlt die Sprachdatei.

EDIT: Ach, du nutzt ja gar keine.

Gruß
Lucike
Image
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

:oops:
hab sie hinzugefügt.. war wohl doch zu spät heute Nacht :roll:
doch, nutze eine fürs Kommando

und für die Nachrichten kommt später noch was dazu
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Nimm doch einfach die Sprachdatei vom Prospektor, da du ja schon Teile von ihm benutzt. Diese Sprachdatei änderst du nach deinen Wünschen.

Ach so, bitte schon mal vorbereiten für deine nächsten Versionen: Gloable Variable "beaconworker.enemy.sector". Damit der Bojenarbeiter (ev. Bojenmechaniker? ;) ) sein eigenes SRD-Signal bekommt.

Ach Signale. Du hast noch keine Signalumleitung durchgeführt. Schau dazu noch mal ins Haupt-Prospektor-Skript.

Code: Select all

106   * --------------------------------------------------------------------------------
107   * Signale setzen
108   * --------------------------------------------------------------------------------
109   
110   $Signal = SIGNAL_ATTACKED
111   [THIS] -> set ship command/signal $Signal to global default behaviour
112   skip if not [THIS] -> is of class TS
113   |[THIS] -> connect ship command/signal $Signal to script 'plugin.prospector.attacked' with prio 100
114   skip if not [THIS] -> is of class M3
115   |[THIS] -> connect ship command/signal $Signal to script 'plugin.prospector.attacking' with prio 100
116   skip if not [THIS] -> is of class M6
117   |[THIS] -> connect ship command/signal $Signal to script 'plugin.prospector.attacking' with prio 100
118   skip if not [THIS] -> is of class TL
119   |[THIS] -> connect ship command/signal $Signal to script 'plugin.prospector.attacking' with prio 100
120   
121   $Signal = SIGNAL_KILLED
122   [THIS] -> set ship command/signal $Signal to global default behaviour
123   [THIS] -> connect ship command/signal $Signal to script 'plugin.prospector.signal.killed' with prio 100
124   
125   $Signal = SIGNAL_REQUESTUNDOCK
126   [THIS] -> set ship command/signal $Signal to global default behaviour
127   [THIS] -> connect ship command/signal $Signal to script 'plugin.prospector.signal.undock' with prio 100
128   
Gruß
Lucike
Image
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

Nimm doch einfach die Sprachdatei vom Prospektor, da du ja schon Teile von ihm benutzt. Diese Sprachdatei änderst du nach deinen Wünschen.
Hatte ich zuerst vor, aber da ich mich mit den ganzen readtext Geschichten noch nicht beschäftigt habe (und keine Lust dazu hatte^^) hab ichs erstmal hinten angestellt.
Damit der Bojenarbeiter (ev. Bojenmechaniker? Wink ) sein eigenes SRD-Signal bekommt.
ah, klasse. Ein eigenes Signal, danke :) mit dem Namen... keine Ahnung wie ich den nennen soll -.- klingt in meinen Ohren irgendwie alles doof, wobei "Bojenmechankier" schon besser klingt als "Bojenarbeiter"....

Signalumleitung hab ich eigentlich drin gehabt. vlt hab ichs ausversehn gelöscht? :? werd ich nochmal schaun
EDIT: im Konzeptskript ist sie drin... hab wohl vergessen die zu kopieren....
ich frag mich grad was ich heute Nacht eigentlich gemacht hab :evil:
vlt sollte ich updates nurnoch Mittags hochladen :D
Last edited by cer13 on Mon, 5. Apr 10, 12:59, edited 1 time in total.
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

cer13 wrote:
Damit der Bojenarbeiter (ev. Bojenmechaniker? Wink ) sein eigenes SRD-Signal bekommt.
ah, klasse. Ein eigenes Signal, danke :) mit dem Namen... keine Ahnung wie ich den nennen soll -.- klingt in meinen Ohren irgendwie alles doof, wobei "Bojenmechankier" schon besser klingt als "Bojenarbeiter"....
War nur ne Idee. :)

Ach so, noch ein kleiner Änderungsvorschlag:

plugin.beaconworker.admin.xml
085 @ | = [THIS] -> call script 'lib.le.pilot.set' : Ship=[THIS] Rank=$PilotLevel RankType='TECHNICS'

Damit er ein echter Mechaniker wird. ;)
cer13 wrote:Signalumleitung hab ich eigentlich drin gehabt. vlt hab ichs ausversehn gelöscht? :? werd ich nochmal schaun
Habe ich's übersehen?

Gruß
Lucike
Image
sky669
Posts: 1145
Joined: Thu, 22. Feb 07, 11:10
x3tc

Post by sky669 »

hoi,

sehr nett... und brav ist er auch, der bojentechniker, was die positionen angeht (jetzt, nach dem ersten sektor mal...)

evt. als vorschlag - dass er sich die einstellungen merkt. wenn ich in den nächstensektor fliege, dass er halt wieder die selben einstellungen im menü hat, dass ich halt nur einmal ENTER drücken muss statt ... öfter halt.

was dei entfernung angeht - gut, ist eh schon oben angesprochen worden. jedoch wenn er die boje bei EINER station aussetzt, evt. etwas mehr abstand.

und dann noch zur flugroutine - jetzt steht er in einem sektor. dass man gleich den nächsten sektor bestimmt, er selber dorthin fliegt und zum arbeiten abfängt. jetzt muss man den bojentechniker händisch hinschicken, und dann starten....

ich werd ihn trotzdem weiter aussetzen lassen...
danke mal
wolf
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

Lucike wrote:085 @ | = [THIS] -> call script 'lib.le.pilot.set' : Ship=[THIS] Rank=$PilotLevel RankType='TECHNICS'

Damit er ein echter Mechaniker wird. Wink
jop, mach ich mit dem nächsten Update, war mir gestern nicht sicher welchen RankType ich nehmen muss um die Dienstgrade zu erhalten.
sky669 wrote:evt. als vorschlag - dass er sich die einstellungen merkt.
kommt ebenfalls mit dem nächsten Update.
sky669 wrote:jedoch wenn er die boje bei EINER station aussetzt, evt. etwas mehr abstand.
kommt evtl. auch mit dem nächsten Update.


und dann noch zur flugroutine
jap, da schraube ich derzeit noch dran. Mit Sektorauswahl und so...


Mir fehlt zur Sektorauswahl aber noch ein bisschen Input. Wie meint ihr wärs am besten?

Meine Planung sieht momentan wie folgt aus:
Argonen
-Innere Sektoren (Ausgewählt)
-Äußere Sektoren
Split
-Innere Sektoren
-Äußere Sektoren (Ausgewählt)
Boronen
-Innere Sektoren (Ausgewählt)
-Äußere Sektoren (Ausgewählt)

usw für jede Rasse außer Khaak und Xenon
inkl einer Liste mit Ausnahme Sektoren.

Ist das so in Ordnung, oder doch lieber anders?


PS: die Chancen stehen gut, dass ich das nächste update heute noch fertig bekomme, da meine bessere Hälfte heute arbeiten muss^^
sky669
Posts: 1145
Joined: Thu, 22. Feb 07, 11:10
x3tc

Post by sky669 »

bei deiner planung ... warum nicht auch äussere UND innere sektoren?
andere option - über freund/feind-einstellung (wie die egosoft-sat-aussetz-routine). kann man eigentlich auch recht gut steuern...

was mir noch aufgefallen ist - wird irgendwas am schutzschild verändert? weil er immer wieder bis zu ca. 60% schild verliert (OsS). hab aber noch nicht ganz rausbekommen, wann genau....

EDIT. gleich nach dem start gehen die schilde runter. und bleiben dann auf 40%

greets, wolf
cer13
Posts: 90
Joined: Mon, 16. Apr 07, 22:14
x3tc

Post by cer13 »

Das mit den Schilden liegt daran, dass die Boost-Erweiterung genutzt wird.
Boost-Erw:
-installiere 10 Triebwerkstunings
-schleife Schilde auf 40%

aber hab grad nochmal ins skript geschaut, anscheinend wird das nirgends unterbrochen. da muss ich mir nochmal was überlegen...
warum nicht auch äussere UND innere sektoren
man kann ja bei jeder Rasse äüßere UND innere Sektoren auswählen, dann hat mans doch^^

und in innere und äußere Sektoren hab ichs aufgeteilt um Leuten die zB Tortuga oder ähnliches zuermöglichen weniger gut bewachte Sektoren auszulassen
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

sky669 wrote:was mir noch aufgefallen ist - wird irgendwas am schutzschild verändert? weil er immer wieder bis zu ca. 60% schild verliert (OsS). hab aber noch nicht ganz rausbekommen, wann genau....
cer13 hat den Turbo der Unionpiloten auf dem Bojenmechaniker aktiviert. Das bringt zwar mehr Geschwindigkeit, aber knabbert nicht nur am Schild, sondern auch an der Hülle. :twisted:

Sollte erste mal deaktiviert werden. Soweit sind wir (die Unionpiloten) noch nicht. ;)

Code: Select all

063   $Equipment = [THIS] -> get amount of ware Boost Erweiterung in cargo bay
064   * if $PilotLevel >= 6 AND $Equipment AND ! $TravelDrive 
065   skip if [THIS] -> is task 41 in use
066   |[THIS] -> start task 41 with script 'plugin.beaconworker.equip.turbo' and prio 0: arg1=null arg2=null arg3=null arg4=null arg5=null
067   * end
cer13, du hast die entsprechende Stelle auskommentiert. Allerdings gibt's den Level 6 offiziell noch nicht.

Gruß
Lucike
Image

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