[neue Ver. von 16.1.05 18.13] Sektor Verteidigungs Software
Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators
-
- Posts: 197
- Joined: Thu, 17. Nov 05, 18:08
-
- Posts: 46
- Joined: Sun, 11. Jan 04, 14:53
Die Erfahrung wird in der Variablen "asdxp" übergeben. Da diese ja auch getauscht wird, muß sie also nach dem Wechseln "noch irgendwo sein". Sonst würde der Befehl auf einem größeren Schiff gar nicht funktionieren. Ich denke nach dem nächsten Levelup wird sie wieder zu sehen sein. Ich lasse mir diese Informationen alle im Schiffsnamen anzeigen, deshalb habe ich mich um die Anzeige im Pilotennamen nie gekümmert.
Gruß
Sinuhe
Gruß
Sinuhe
-
- Posts: 197
- Joined: Thu, 17. Nov 05, 18:08
Habe standardmäßig die erweiterten Informationen im Schiffsnamen eingestellt.
Die Situation ist folgendermaßen:
Pilot steigt in die nächste Schiffsklasse um.
Das alte Schiff behält seinen Schiffsnamen (asd: Hauptgefreiter etc.).
Das neue Schiff, mit dem umgestiegenen Piloten, heißt weiterhin A. Nova o.ä. Gibt man nun das Kommando "Sektorverteidigung", wechselt der Schiffsname zu asd: Rekrut etc.. Da Rekruten keine M3 fliegen können, stimmt hier etwas nicht. Der umgestiegene Pilot fängt dann wieder bei "0" an und steigt in den Rängen normal weiter (Flieger, Gefreiter etc.).
Den Befehl kann man auch nur einmal geben. Wird die Sektorverteidigung auf dem Schiff deaktiviert, kann man sie nicht ein zweites mal starten.
Piloten mit Heimatbasis wollen auch automatisch in die nächste Schiffsklasse wechseln, aber holen sich dann nur ein M3, das den "Beschütze..." Befehl erhält.
Ich habe zusätzlich alle lib- und t-files aus dem Extraordner der Sektorverteidigung in den script- bzw. t-Ordner kopiert.
Meine installierten Erweiterungen:
-Sektorverteidigung
-Warenlogistik
-BPH
-StationTrader von Naffarin
-Overtune von Cycrow
-Nebel- und Astro-Ex als 06.dat
asdxp-Eintrag in der lib:
<text>append </text><var>'asdxp'</var><text> to array </text><var>$List.ValueName</var></line>
Gruß
Unknown object 003
Die Situation ist folgendermaßen:
Pilot steigt in die nächste Schiffsklasse um.
Das alte Schiff behält seinen Schiffsnamen (asd: Hauptgefreiter etc.).
Das neue Schiff, mit dem umgestiegenen Piloten, heißt weiterhin A. Nova o.ä. Gibt man nun das Kommando "Sektorverteidigung", wechselt der Schiffsname zu asd: Rekrut etc.. Da Rekruten keine M3 fliegen können, stimmt hier etwas nicht. Der umgestiegene Pilot fängt dann wieder bei "0" an und steigt in den Rängen normal weiter (Flieger, Gefreiter etc.).
Den Befehl kann man auch nur einmal geben. Wird die Sektorverteidigung auf dem Schiff deaktiviert, kann man sie nicht ein zweites mal starten.
Piloten mit Heimatbasis wollen auch automatisch in die nächste Schiffsklasse wechseln, aber holen sich dann nur ein M3, das den "Beschütze..." Befehl erhält.
Ich habe zusätzlich alle lib- und t-files aus dem Extraordner der Sektorverteidigung in den script- bzw. t-Ordner kopiert.
Meine installierten Erweiterungen:
-Sektorverteidigung
-Warenlogistik
-BPH
-StationTrader von Naffarin
-Overtune von Cycrow
-Nebel- und Astro-Ex als 06.dat
asdxp-Eintrag in der lib:
<text>append </text><var>'asdxp'</var><text> to array </text><var>$List.ValueName</var></line>
Gruß
Unknown object 003
Last edited by Unknown object 003 on Wed, 1. Mar 06, 18:52, edited 1 time in total.
-
- Posts: 46
- Joined: Sun, 11. Jan 04, 14:53
Habe vorhin alle möglichen Wechselvarianten bei mir durchgespielt. Egal von welchem Schiff ich den Befehl starte oder von welchem Schiff auf welches Schiff gewechselt wird, sie funktionieren alle reibungslos. Der Level wird zwar nicht im Pilotennamen angezeigt, aber er ist da. Ich kann die aSD starten bzw. auch nach dem Beenden geht alles auch weiterhin klar.
Bei mir laufen immer feste Gruppen von 10 Schiffen pro überwachtem Sektor, die ich nicht automatisch wechseln lasse. Deshalb kann ich zum Funktionieren der Automatik nichts sagen. Wahrscheinlich werde ich aber sowieso mit der Zeit auf den Patrol-Befehl von Ticaki umsteigen, denn 1 M6 mit Patrol räumt z.B. "Ministry of Finance" oder "Bad Debt" auf, ohne einen Kratzer zu kriegen. Gebe ich ihm noch eine Eskorte aus M3 dazu, kann man manchmal gar nicht so schnell in den Sektor schalten, wie die Gegner verschwunden sind. Bei der aSD muß ich ständig abgeschossene Piloten ersetzen. Erst, wenn sie endlich mal auf Level 10 oder höher sind, hat man halbwegs Ruhe.
In der lib.le.pilot.move.xml die Zeile, in der die Variable "asd" übergeben wird löschen. Das sollte das Problem mit der angeschalteten aSD nach dem Wechsel beheben.
Die libs:
01. !lib.ship.ext.names.cmd.pck -> OK, notwendig zur Umbenennung
02. !lib.ship.ext.names.cmd.xml -> = 01
03. !setup.default.libs.pck -> OK = 15 + "kleines Extra"; überflüssig wenn 15 vorhanden
04. !setup.default.libs.xml -> OK = 03
05. lib.setup.product.placement.xml -> überflüssig, da sowieso schon ingame da
06. lib.ship.var.setpilotname.xml -> überflüssig, da sowieso schon ingame da
07. plugin.autotrade.movepilot.xml -> überflüssig, da sowieso schon ingame ingame da
08. plugin.autotrade.movepilot.start.xml -> überflüssig, da sowieso schon ingame da
09. plugin.patrol.bas.addrem.sector.xml -> überflüssig, da sowieso schon ingame da
10. plugin.patrol.bas.cmd.select.xml -> OK, keine Änderung am Originaltext, ledigl etwas hinzugefügt; ermöglicht Patrol, wenn Sektorverteidigung installiert
11. plugin.patrol.bas.write.xml -> überflüssig, da sowieso schon ingame da
12. plugin.ship.ext.names.cmd.xml -> OK, notwendig zur Umbenennung
13. plugin.ship.ext.names.reset.cmd.xml -> OK, notwendig zur Umbenennung
14. plugin.ship.ext.names.select.xml -> OK, notwendig zur Umbenennung
15. setup.default.libs.xml -> OK, installiert den Umbenennungsbefehl; notwendig zur Umbenennung
16. setup.plugin.patrol.bas.xml -> überflüssig, da sowieso schon ingame da
17. 440003.xml -> habe nicht kontrolliert, ob hier etwas geändert wurde; um Konflikte zu vermeiden (u.U. schon ingame hardcoded) habe ich sie nicht installiert -> funktioniert bei mir reibungslos
In der plugin.merlin.asd.movepilotm1.xml folgende Zeile
gegen
auswechseln, sonst wird beim automatischen Wechsel weiterhin das MK3-Script aufgerufen
Meine setup.plugin.merlin.asd.xml
Zeilen 8 und 13 auf jeden Fall ausschalten, da sie den MK3-Wechselbefehl überschreiben
Zeilen 9 und 14 ermöglichen Patrol, wenn Sektorverteidigung installiert
Zum Funktioneren der Umbenennungsroutinen kann ich Dir leider nichts sagen. Ich habe mir mein eigenes Umbenennungsscript geschrieben, das mir für alle installierten Scripte automatisch die relevanten Informationen im Schiffsnamen anzeigt. Deshalb nutze ich das Script von Ticaki gar nicht.
Ich bin jetzzt die nächsten paar Tage nicht da. Wenn es nicht funktioniert, sag Bescheid, dann kann ich Dir mal meine Dateien schicken.
Gruß
Sinuhe
Bei mir laufen immer feste Gruppen von 10 Schiffen pro überwachtem Sektor, die ich nicht automatisch wechseln lasse. Deshalb kann ich zum Funktionieren der Automatik nichts sagen. Wahrscheinlich werde ich aber sowieso mit der Zeit auf den Patrol-Befehl von Ticaki umsteigen, denn 1 M6 mit Patrol räumt z.B. "Ministry of Finance" oder "Bad Debt" auf, ohne einen Kratzer zu kriegen. Gebe ich ihm noch eine Eskorte aus M3 dazu, kann man manchmal gar nicht so schnell in den Sektor schalten, wie die Gegner verschwunden sind. Bei der aSD muß ich ständig abgeschossene Piloten ersetzen. Erst, wenn sie endlich mal auf Level 10 oder höher sind, hat man halbwegs Ruhe.
In der lib.le.pilot.move.xml die Zeile, in der die Variable "asd" übergeben wird löschen. Das sollte das Problem mit der angeschalteten aSD nach dem Wechsel beheben.
Die libs:
01. !lib.ship.ext.names.cmd.pck -> OK, notwendig zur Umbenennung
02. !lib.ship.ext.names.cmd.xml -> = 01
03. !setup.default.libs.pck -> OK = 15 + "kleines Extra"; überflüssig wenn 15 vorhanden
04. !setup.default.libs.xml -> OK = 03
05. lib.setup.product.placement.xml -> überflüssig, da sowieso schon ingame da
06. lib.ship.var.setpilotname.xml -> überflüssig, da sowieso schon ingame da
07. plugin.autotrade.movepilot.xml -> überflüssig, da sowieso schon ingame ingame da
08. plugin.autotrade.movepilot.start.xml -> überflüssig, da sowieso schon ingame da
09. plugin.patrol.bas.addrem.sector.xml -> überflüssig, da sowieso schon ingame da
10. plugin.patrol.bas.cmd.select.xml -> OK, keine Änderung am Originaltext, ledigl etwas hinzugefügt; ermöglicht Patrol, wenn Sektorverteidigung installiert
11. plugin.patrol.bas.write.xml -> überflüssig, da sowieso schon ingame da
12. plugin.ship.ext.names.cmd.xml -> OK, notwendig zur Umbenennung
13. plugin.ship.ext.names.reset.cmd.xml -> OK, notwendig zur Umbenennung
14. plugin.ship.ext.names.select.xml -> OK, notwendig zur Umbenennung
15. setup.default.libs.xml -> OK, installiert den Umbenennungsbefehl; notwendig zur Umbenennung
16. setup.plugin.patrol.bas.xml -> überflüssig, da sowieso schon ingame da
17. 440003.xml -> habe nicht kontrolliert, ob hier etwas geändert wurde; um Konflikte zu vermeiden (u.U. schon ingame hardcoded) habe ich sie nicht installiert -> funktioniert bei mir reibungslos
In der plugin.merlin.asd.movepilotm1.xml folgende Zeile
Code: Select all
040 @ = [THIS] -> call script 'plugin.autotrade.movepilot' : From trader=$schiff1 to new ship=$schiff meeting in station=$treager
Code: Select all
040 @ = [THIS] -> call script 'plugin.shiptools.pilot.move' : ShipSource=$schiff1 ShipDestination=$schiff StationMeeting=$treager
Meine setup.plugin.merlin.asd.xml
Code: Select all
001 load text: id=735
002 $cmdon = read text: page=2008 id=318
003 $cmdoff = read text: page=2008 id=319
004 $upgrade = read text: page=17 id=5833
005 @ = [THIS] -> call script 'plugin.merlin.asd.init' :
006 global script map: set: key=advsecdef, class=Ship, race=Player, script='plugin.merlin.asd.on', prio=0
007 global script map: set: key=advsecdefs, class=Ship, race=Player, script='plugin.merlin.asd.off', prio=0
008 *global script map: set: key=COMMAND_SIGN_MOVE_PILOT, class=Ship, race=Player, script=plugin.autotrade.movepilot.start, prio=0
009 global script map: set: key=COMMAND_SIGN_PATROL_BASIC_ADDREM_SECTOR, class=Ship, race=Player, script=plugin.patrol.bas.addrem.sector, prio=0
010
011 set script command upgrade: command=advsecdef upgrade=[TRUE] script='plugin.merlin.asd.selectcmd'
012 set script command upgrade: command=advsecdefs upgrade=[TRUE] script='plugin.merlin.asd.selcmdoff'
013 *set script command upgrade: command=COMMAND_SIGN_MOVE_PILOT upgrade=Special Command Software MK1
014 set script command upgrade: command=COMMAND_SIGN_PATROL_BASIC_ADDREM_SECTOR upgrade=[TRUE] script=plugin.patrol.bas.cmd.select
015
016 return null
Zeilen 9 und 14 ermöglichen Patrol, wenn Sektorverteidigung installiert
Zum Funktioneren der Umbenennungsroutinen kann ich Dir leider nichts sagen. Ich habe mir mein eigenes Umbenennungsscript geschrieben, das mir für alle installierten Scripte automatisch die relevanten Informationen im Schiffsnamen anzeigt. Deshalb nutze ich das Script von Ticaki gar nicht.
Ich bin jetzzt die nächsten paar Tage nicht da. Wenn es nicht funktioniert, sag Bescheid, dann kann ich Dir mal meine Dateien schicken.
Gruß
Sinuhe
-
- Posts: 197
- Joined: Thu, 17. Nov 05, 18:08
Schon mal vielen Dank im Voraus. Insbesondere die Zeile
hat mir Kopfzerbrechen bereitet.
Beste Grüße
Code: Select all
call script 'plugin.autotrade.movepilot'
Beste Grüße
-
- Posts: 197
- Joined: Thu, 17. Nov 05, 18:08
So, eine vorläufige Erfolgsmeldung: Der Wechsel läuft jetzt korrekt, und bei erneutem Sektorvertdg.-Befehl erscheinen Rang und Pilotname.
Ich glaube den Fehler jetzt gefunden zu haben. Es war die Zeile 40 in plugin.merlin.asd.movepilotm1.xml. Nun fehlt nur noch das automatische Umsteigen und die Statistik. Dann wäre das Skript komplett auf X3 migriert.
Edit:
Die Statistik läuft auch. Leider holen sich die potenziellen Umsteiger immer noch Schiffe der nächsthöheren Schiffsklasse von der Heimatbasis mit dem "Beschütze..."-Befehl. Es liegt wohl am Wechselbefehl. Wenn der Umsteiger prüft, ob ein Schiff zur Verfügung steht, und das als TRUE zurückgegeben wird, ist die Sektorverteidigung auf dem Zielschiff aktiviert. M.E. wird hier die Wechselroutine unterbrochen. Leider bin ich nicht in der Lage, die Instruktionen so umzustricken, dass der Pilot mit allen Attributen umsteigt, aber die Sektorverteidigung auf dem Zielschiff nicht aktiv ist.
Anm. hierzu:
Beim manuellen Umsetzen muss die Sektorverteidigung auf dem Zielschiff erst deaktiviert werden, sonst verliert der Pilot seine Erfahrung.
In der modifizierte Datei plugin.autotrade.movepilot sind ab Zeile 113 entsprechende Einträge zu finden, die das move.pilot-Verhalten für die asd beschreiben. Könnte man diese in die X3-Version integrieren?
Ich glaube den Fehler jetzt gefunden zu haben. Es war die Zeile 40 in plugin.merlin.asd.movepilotm1.xml. Nun fehlt nur noch das automatische Umsteigen und die Statistik. Dann wäre das Skript komplett auf X3 migriert.
Edit:
Die Statistik läuft auch. Leider holen sich die potenziellen Umsteiger immer noch Schiffe der nächsthöheren Schiffsklasse von der Heimatbasis mit dem "Beschütze..."-Befehl. Es liegt wohl am Wechselbefehl. Wenn der Umsteiger prüft, ob ein Schiff zur Verfügung steht, und das als TRUE zurückgegeben wird, ist die Sektorverteidigung auf dem Zielschiff aktiviert. M.E. wird hier die Wechselroutine unterbrochen. Leider bin ich nicht in der Lage, die Instruktionen so umzustricken, dass der Pilot mit allen Attributen umsteigt, aber die Sektorverteidigung auf dem Zielschiff nicht aktiv ist.
Anm. hierzu:
Beim manuellen Umsetzen muss die Sektorverteidigung auf dem Zielschiff erst deaktiviert werden, sonst verliert der Pilot seine Erfahrung.
In der modifizierte Datei plugin.autotrade.movepilot sind ab Zeile 113 entsprechende Einträge zu finden, die das move.pilot-Verhalten für die asd beschreiben. Könnte man diese in die X3-Version integrieren?
-
- Posts: 46
- Joined: Sun, 11. Jan 04, 14:53
Komplett auf X3 migriert wird das Script nur nach größeren Umbauten sein. Z.B. kann die Versorgung durch einen TS so wie geplant in X3 nicht stattfinden, da diese nicht mehr auf einem Träger landen können. Was sonst noch intern umzubauen ist kann ich Dir so nicht sagen. Ich habe mir den kompletten Code noch nicht daraufhin angesehen.
Ein automatischer Wechsel auf größere Schiffe als M3 findet prinzipiell nicht statt. Das hat Merlin nicht einprogrammiert und es ist m.E. auch nicht sinnvoll, da diese sowieso nicht auf einem Träger andocken können. Bei "großen Pötten" will ich außerdem selbst entscheiden ob und wer umsteigt. Das mit dem "Beschütze..."-Befehl" dürfte daran liegen. daß Du den Träger als Homebase zugewiesen hast. Die Schiff sollten nur auf dem Träger gelandet sein und dort nicht ihre Homebase haben (s. Merlins FAQ unter Frage 16). Außerdem darf auf dem Zielschiff noch kein aSD-Pilot vorhanden sein (wird in Zeile 15-16 der plugin.merlin.asd.movepilotm1 überprüft).
Die aSD wird durch das Setzen der lokalen Variablen "asd" auf "18" aktiviert. Wenn hier "0" eingesetzt wird dürfte die aSD nach dem Wechseln wahrscheinlich aus sein. Unterbrochen wird hier m.E. nichts. Die Werte für "asd" kannst Du in der 440735.xml im Verzeichnis "T" nachlesen. Page id 1501, id 300-322 geben die entsprechendn Werte wieder (id = 300+asd). Aber es ist doch eigentlich völlig OK, wenn die aSD auf dem Zielschiff aktiv ist. Dafür schickt man doch einen Träger auf die aSD-Patrouille.
Das Problem mit dem manuellen Umsetzen habe ich bisher nicht gehabt. Aber auch hier kann eigentlich die Erfahrung, die in der lokalen Variablen "asdxp" abgelegt ist nicht verloren gehen. Diese Variable wird zwischen den beiden Schiffen ausgetauscht. Sie muß also noch "irgendwo sein". Was meinst Du mit "der Pilot verliert seine Erfahrung"? Kannst Du die aSD auf dem Zielschiff nicht mehr starten oder wird sie nur im Namen nicht mehr angezeigt?
geänderte plugin.autotrade.movepilot (in Ausschnitten):
Zeile 7-12 legt die Namen der lokalen Variablen in normalen Variablen ab. Das spart bei mehrfacher Eingabe Tipparbeit bzw. bei Namensänderungen muß man nur an einer Stelle im Script editieren -> in der lib.le.pilot.move sind die Namen der lokalen Variablen im Klartext angegeben bzw. als Sätze in einem Array abgelegt, also auch schon vorhanden.
Zeile 13-17 prüfen, ob mindestens eines der Schiffe die aSD installiert hat -> diese Überprüfung fehlt in der lib.le.pilot.move; ist hier aber nicht wirklich nötig, da sowieso nur Schiffe mit der installierten aSD den Befehl aufrufen bzw. würde ohne größere Umbauarbeiten in der lib.le.pilot.move den Wechsel von Piloten ohne aSD komplett verhindern; das Schlimmste was passieren kann ist eine Fehlermeldung bei manuellem Befehlsaufruf, daß in beiden Schiffen kein Pilot sitzt und demzufolge nichts zum Wechseln da ist.
Zeile 18-22 rufen das Namensgebungsscript von Merlin.Schmidt auf -> könnte man noch einbauen, aber das Einzige was fehlt ist die Angabe "Pilot wechselt Schiff" im Schiffsnamen, d.h. es tut bezüglich der Befehlsfunktion nichts zur Sache
Zeile 114-125 überprüfen nur ob der Wechsel erlaubt ist, d.h. ob sich beide Schiffe in der selben Station befinden. -> Konvertierung unnötig; das macht die lib.le.pilot.move auch.
Zeile 126-158 tauschen die nötigen Variablen zwischen den Schiffen aus -> Konvertierung unnötig; das macht die lib.le.pilot.move auch. In den Scriptaufrufen in Zeile 139-140 liegt der Grund, warum der Rang direkt nach dem Wechsel nicht angezeigt wird. Dieser Aufruf fehlt in der lib.le.pilot.move. Durch Einfügen des Aufrufes nach dem Label "End:" (bei mir in Zeile 113) könnte man das abstellen.
z.B.
Gruß
Sinuhe
Ein automatischer Wechsel auf größere Schiffe als M3 findet prinzipiell nicht statt. Das hat Merlin nicht einprogrammiert und es ist m.E. auch nicht sinnvoll, da diese sowieso nicht auf einem Träger andocken können. Bei "großen Pötten" will ich außerdem selbst entscheiden ob und wer umsteigt. Das mit dem "Beschütze..."-Befehl" dürfte daran liegen. daß Du den Träger als Homebase zugewiesen hast. Die Schiff sollten nur auf dem Träger gelandet sein und dort nicht ihre Homebase haben (s. Merlins FAQ unter Frage 16). Außerdem darf auf dem Zielschiff noch kein aSD-Pilot vorhanden sein (wird in Zeile 15-16 der plugin.merlin.asd.movepilotm1 überprüft).
Die aSD wird durch das Setzen der lokalen Variablen "asd" auf "18" aktiviert. Wenn hier "0" eingesetzt wird dürfte die aSD nach dem Wechseln wahrscheinlich aus sein. Unterbrochen wird hier m.E. nichts. Die Werte für "asd" kannst Du in der 440735.xml im Verzeichnis "T" nachlesen. Page id 1501, id 300-322 geben die entsprechendn Werte wieder (id = 300+asd). Aber es ist doch eigentlich völlig OK, wenn die aSD auf dem Zielschiff aktiv ist. Dafür schickt man doch einen Träger auf die aSD-Patrouille.
Das Problem mit dem manuellen Umsetzen habe ich bisher nicht gehabt. Aber auch hier kann eigentlich die Erfahrung, die in der lokalen Variablen "asdxp" abgelegt ist nicht verloren gehen. Diese Variable wird zwischen den beiden Schiffen ausgetauscht. Sie muß also noch "irgendwo sein". Was meinst Du mit "der Pilot verliert seine Erfahrung"? Kannst Du die aSD auf dem Zielschiff nicht mehr starten oder wird sie nur im Namen nicht mehr angezeigt?
geänderte plugin.autotrade.movepilot (in Ausschnitten):
Code: Select all
...
007 $aSD.pilotname = 'pilotname'
008 $aSD.pilotrace = 'pilotrace'
009 $aSD.Level = 'asdlevel'
010 $aSD.XP = 'asdxp'
011 $aSD.konto = 'asdkonto'
012 $aSD.time = 'asdtime'
013 $from.has.asd = $move.from -> get local variable: name='asdlevel'
014 $to.has.asd = $move.to -> get local variable: name='asdlevel'
015 $move.asdpilot = [FALSE]
016 skip if not $to.has.asd >= 1 OR $from.has.asd >= 1
017 $move.asdpilot = [TRUE]
018 if $move.asdpilot
019 $move.from -> set local variable: name='asd' value=20
020 $move.to -> set local variable: name='asd' value=20
021 @ = $move.from -> call script 'plugin.merlin.asd.rename' :
022 @ = $move.to -> call script 'plugin.merlin.asd.rename' :
...
113 * advanced Sector Defence
114 if $move.asdpilot
115 $pilotmove.allowed = [FALSE]
116 $station.1 = $move.from -> is docked
117 $station.2 = $move.to -> is docked
118 if not $station.1 == null
119 skip if not $station.1 == $station.2
120 $pilotmove.allowed = [TRUE]
121 end
122 skip if not $station.1 == $move.to
123 $pilotmove.allowed = [TRUE]
124 skip if not $move.from == $station.2
125 $pilotmove.allowed = [TRUE]
126 if $pilotmove.allowed
127 $aSD.tmp1 = $move.from -> get local variable: name=$aSD.pilotname
128 $aSD.tmp2 = $move.to -> get local variable: name=$aSD.pilotname
129 $move.from -> set local variable: name=$aSD.pilotname value=$aSD.tmp2
130 $move.to -> set local variable: name=$aSD.pilotname value=$aSD.tmp1
131 $aSD.tmp1 = $move.from -> get local variable: name=$aSD.pilotrace
132 $aSD.tmp2 = $move.to -> get local variable: name=$aSD.pilotrace
133 $move.from -> set local variable: name=$aSD.pilotrace value=$aSD.tmp2
134 $move.to -> set local variable: name=$aSD.pilotrace value=$aSD.tmp1
135 $aSD.tmp1 = $move.from -> get local variable: name=$aSD.Level
136 $aSD.tmp2 = $move.to -> get local variable: name=$aSD.Level
137 $move.from -> set local variable: name=$aSD.Level value=$aSD.tmp2
138 $move.to -> set local variable: name=$aSD.Level value=$aSD.tmp1
139 @ = [THIS] -> call script 'lib.ship.var.setpilotname' : ship=$move.from experience=$aSD.tmp2
140 @ = [THIS] -> call script 'lib.ship.var.setpilotname' : ship=$move.to experience=$aSD.tmp1
141 $aSD.tmp1 = $move.from -> get local variable: name=$aSD.XP
142 $aSD.tmp2 = $move.to -> get local variable: name=$aSD.XP
143 $move.from -> set local variable: name=$aSD.XP value=$aSD.tmp2
144 $move.to -> set local variable: name=$aSD.XP value=$aSD.tmp1
145 $aSD.tmp1 = $move.from -> get local variable: name=$aSD.konto
146 $aSD.tmp2 = $move.to -> get local variable: name=$aSD.konto
147 $move.from -> set local variable: name=$aSD.konto value=$aSD.tmp2
148 $move.to -> set local variable: name=$aSD.konto value=$aSD.tmp1
149 $aSD.tmp1 = $move.from -> get local variable: name=$aSD.time
150 $aSD.tmp2 = $move.to -> get local variable: name=$aSD.time
151 $move.from -> set local variable: name=$aSD.time value=$aSD.tmp2
152 $move.to -> set local variable: name=$aSD.time value=$aSD.tmp1
153 $move.from -> set local variable: name='asd' value=0
154 $move.to -> set local variable: name='asd' value=0
155 @ = [THIS] -> call script '!lib.ship.ext.names.cmd' : ship=$move.from Scriptname=null extended name addon=null
156 @ = [THIS] -> call script '!lib.ship.ext.names.cmd' : ship=$move.to Scriptname=null extended name addon=null
157 end
158 end
...
Zeile 13-17 prüfen, ob mindestens eines der Schiffe die aSD installiert hat -> diese Überprüfung fehlt in der lib.le.pilot.move; ist hier aber nicht wirklich nötig, da sowieso nur Schiffe mit der installierten aSD den Befehl aufrufen bzw. würde ohne größere Umbauarbeiten in der lib.le.pilot.move den Wechsel von Piloten ohne aSD komplett verhindern; das Schlimmste was passieren kann ist eine Fehlermeldung bei manuellem Befehlsaufruf, daß in beiden Schiffen kein Pilot sitzt und demzufolge nichts zum Wechseln da ist.
Zeile 18-22 rufen das Namensgebungsscript von Merlin.Schmidt auf -> könnte man noch einbauen, aber das Einzige was fehlt ist die Angabe "Pilot wechselt Schiff" im Schiffsnamen, d.h. es tut bezüglich der Befehlsfunktion nichts zur Sache
Zeile 114-125 überprüfen nur ob der Wechsel erlaubt ist, d.h. ob sich beide Schiffe in der selben Station befinden. -> Konvertierung unnötig; das macht die lib.le.pilot.move auch.
Zeile 126-158 tauschen die nötigen Variablen zwischen den Schiffen aus -> Konvertierung unnötig; das macht die lib.le.pilot.move auch. In den Scriptaufrufen in Zeile 139-140 liegt der Grund, warum der Rang direkt nach dem Wechsel nicht angezeigt wird. Dieser Aufruf fehlt in der lib.le.pilot.move. Durch Einfügen des Aufrufes nach dem Label "End:" (bei mir in Zeile 113) könnte man das abstellen.
z.B.
Code: Select all
114 $dummy = $ShipSource -> get local variable: name='asdlevel'
115 $dummy2 = $ShipSource -> call script 'lib.ship.var.setpilotname' : ship=$ShipSource experience=$dummy rank=null ranktype=null
116 $ShipSource -> set pilot name to $dummy2
117 $dummy = $ShipDestination -> get local variable: name='asdlevel'
118 $dummy2 = $ShipDestination -> call script 'lib.ship.var.setpilotname' : ship=$ShipDestination experience=$dummy rank=null ranktype=null
119 $ShipDestination -> set pilot name to $dummy2
Sinuhe
-
- Posts: 197
- Joined: Thu, 17. Nov 05, 18:08
Beim manuellen Umsetzen gibt es nach dem Schiffstausch auf den M3s zwei unterschiedliche asd-Zustände.Was meinst Du mit "der Pilot verliert seine Erfahrung"? Kannst Du die aSD auf dem Zielschiff nicht mehr starten oder wird sie nur im Namen nicht mehr angezeigt?
Im ersten Fall sind beide Befehlsoptionen OFF und ON wählbar; im zweiten Fall nur ON, was auch korrekt ist. Wird im ersten Fall zuerst ON gewählt, verliert der umgesetzte Pilot seinen Kampfrang und beginnt (im M3!) wieder als Rekrut. Zur Vermeidung dessen, muss die Sektorverteidigung zunächst deaktiviert werden. Anschließend aktiviert, arbeitet die asd korrekt.
Sicher ist, dass die Übergabe von -asdxp- stattgefunden hat. Leider gibt es jetzt aber auch die Möglichkeit, den Rang, wie im ersten Fall geschildert, wieder zu verlieren. Das dürfte m.M. nach nicht eintreten, macht ja keinen Sinn. Halbwegs reproduzierbar ist dieser Fehler (in meinem Spiel), wenn ein M4, das zum Wechsel zu seiner Heimatbasis zurückkehrt, das Zielschiff mit dem "Beschütze..."-Befehl startet. Versucht man jetzt den Piloten manuell auf das M3 zu transferieren, hat man für die asd sowohl den ON- als auch den Off-Befehl (Fall eins) zur Auswahl.
Die Trainingsschiffe sind alle auf einem Träger stationiert (Heimatbasis). Ich folge damit Punkt 19 der Readme. Für eine M1-Sektorverteidigung fehlen mir die Pilotenränge.
Wäre schön, wenn Du mir Deine asd-Version für meine X3-Testumgebung zur Verfügung stellen könntest, damit ich das Wechselverhalten mal vergleichen kann. -> PN
Beste Grüße
-
- Posts: 197
- Joined: Thu, 17. Nov 05, 18:08
Hallo Sinuhe,
habe jetzt Deine Version installiert, und das automatische Umsetzen funktioniert leider immer noch nicht.
Beim autom. Pilotentransfer bleibt der Pilot mit Kampfrang auf dem "kleineren" Schiff. Das Zielschiff erhält den Namen des Piloten und den "Beschütze..."-Befehl. Die Sektorverteidigung ist auf dem Zielschiff ebenfalls aktiv. Irgendwie wird der Wert für "asdxp" beim autom. Wechsel bei mir nicht übergeben.
Gruß,
Unknown object 003
habe jetzt Deine Version installiert, und das automatische Umsetzen funktioniert leider immer noch nicht.
Beim autom. Pilotentransfer bleibt der Pilot mit Kampfrang auf dem "kleineren" Schiff. Das Zielschiff erhält den Namen des Piloten und den "Beschütze..."-Befehl. Die Sektorverteidigung ist auf dem Zielschiff ebenfalls aktiv. Irgendwie wird der Wert für "asdxp" beim autom. Wechsel bei mir nicht übergeben.
Gruß,
Unknown object 003
-
- Posts: 49
- Joined: Sat, 15. Nov 03, 00:44
Rekrut1a[SKHG] wrote:Okay, die Grundlagen habe ich verstanden. Die Probleme entstanden, weil jemand die lib-Dateien mit den Rangnamen verändert hat. Wobei mir nicht ganz in den Kopf will weshalb unbedingt die Page-ID in der aktuellen Version der Bonuserweiterung geändert werden musste. Älteren Skripten hat man damit den Teppich unter den Füssen weggezogen.
Leider komme ich mit Änderungen am Skript nicht so recht weiter. Tatsache ist, daß die Sektorverteidigung aus mehr als einem Dutzend Einzelskripts besteht die wiederum Querverweise auf die lib-Dateien mit den Rangnamen haben. Ich finde leider keinen Punkt wo man einen Verweis einfügt um den namensgebenden Skripten zu befehlen, ab jetzt die 490010.xml statt der 490003.xml zu nutzen.
Wie gehabt. Fällt jemandem etwas dazu ein?
Hoi, das Problem mit dem READ-Fehler ist , das die Unbennengslibs auf die 490003.xml nicht zugreifen, sondern nur auf die 49003.PCK.
Wenn man in die 49003.pck folgendes einfügt
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<language id="49">
<page id="0941" title="Deutsche Ränge" descr="">
<t id="001">%s %s</t>
<t id="002">%s \(%s\)</t>
<t id="003">%s: %s</t>
<t id="004">%s: %s %s</t>
</page>
<!-- Handelssoftware MK3 BurnIt & MKess pageid.sc001 : PageID 1500 -->
<!-- Handelserweiterungskit MK1 ticaki pageid.sc002 : PageID 1501 -->
<!-- SVP/Stationsverwaltungsprotokoll AcraJeth pageid.sc003 : PageID 1502 -->
<!-- Standard Patrouillen Kommandos Burianek pageid.sc004 : PageID 1503 -->
<!-- AEGIS Geschützturmpersonal Reven pageid.sc005 : PageID 1504 -->
<!-- Kri'Me SAS Stations Ausliefer Software Gothik / : PageID / -->
<!-- Kri'Me SAS Stations Ausliefer Software BEI DER NÄCHSTEN VERSION ENTFERNEN! -->
Um die 49003.pck zubearbeiten muss diese erst enpackt, und später wieder gepackt gepackt werden.
Goethe: Gegner glauben uns zu widerlegen, wenn sie ihre Meinung wiederholen und auf unsere nicht achten
Einstein: Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher
Einstein: Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher
-
- Posts: 46
- Joined: Sun, 11. Jan 04, 14:53
Hallo,
ich war leider etwas oos, deshalb erst jetzt eine Reaktion.
@Unknown object 003
Das kann ich mir nicht wirklich erklären. Wie gesagt, bei mir funktioniert das Umsetzen einwandfrei. Die einzige Möglichkeit, die mir noch einfällt, ist das Bonuspack aus X2. Du hast gesagt, daß Du die BPH installiert hast, also auch zumindest Teile des Bonuspacks. Weiter oben wird von Problemen damit berichtet. Vielleicht besteht da ein Zusammenhang. Ich würde es mal ohne das gesamte Bonuspack und nur mit meiner Version probieren. Die Variable "asdxp" wird bei mir problemlos übergeben.
@West@Ost
Bei mir ist keine xx003 installiert. Die Texte aus der ehemaligen X2-Datei sind jetzt in der xx001 enthalten (in der 04.cat/dat nachzusehen). Also wäre ich vorsichtig mit der xx003. Du könntest Dir Einstellungen aus der xx001 überschreiben. Auf .xml-Dateien wird nur zugegriffen, wenn keine .pck vorhanden ist. Du mußt also nur die .pck löschen, um mit der .xml zu arbeiten.
Grüße
Sinuhe
ich war leider etwas oos, deshalb erst jetzt eine Reaktion.
@Unknown object 003
Das kann ich mir nicht wirklich erklären. Wie gesagt, bei mir funktioniert das Umsetzen einwandfrei. Die einzige Möglichkeit, die mir noch einfällt, ist das Bonuspack aus X2. Du hast gesagt, daß Du die BPH installiert hast, also auch zumindest Teile des Bonuspacks. Weiter oben wird von Problemen damit berichtet. Vielleicht besteht da ein Zusammenhang. Ich würde es mal ohne das gesamte Bonuspack und nur mit meiner Version probieren. Die Variable "asdxp" wird bei mir problemlos übergeben.
@West@Ost
Bei mir ist keine xx003 installiert. Die Texte aus der ehemaligen X2-Datei sind jetzt in der xx001 enthalten (in der 04.cat/dat nachzusehen). Also wäre ich vorsichtig mit der xx003. Du könntest Dir Einstellungen aus der xx001 überschreiben. Auf .xml-Dateien wird nur zugegriffen, wenn keine .pck vorhanden ist. Du mußt also nur die .pck löschen, um mit der .xml zu arbeiten.
Grüße
Sinuhe
-
- Posts: 49
- Joined: Sat, 15. Nov 03, 00:44
@ Sinuhe
meine Lösung bezog sich auf ein read-prob bei der Sektorverteidigung und dem Bonuspack in X2.
Ich meine mit der 49003.pck auch nicht die Datei die in den cat/dat Dateien zufinden ist, sonder die die sich im T-Ordner befinden sollte.
Die Datei aus dem T -Ordner zulöschen, bringt mich umgehend zurück zum Desktop, das bringt mich auch nicht weiter. auch den Inhalt der pck-datei zulöschen hatte keinen Erfolg, und Merlins mitgelieferte Datei verträgt sich nicht mit dem Bonuspack.
Das Pilotenwechseln funtz mit den neuen Scripten des Bonuspacks auch nicht mehr richtig. Daran arbeite ich gerade, aber ist bei dem durcheinander gar nicht so einfach den durchblick nicht zuverlieren.
Die Sektorverteidigung für X3 umzustricken, da kann ich auch nicht helfen und hier ist im X2 Scriptforum vieleicht auch nicht der richtige Ort um hilfe zufinden
Ps: ich wäre schon froh wenn mein gecheater Admiral nach aktivierung der Sektorverteidigung und( seinem ersten Abschuss) nicht immer den Rang verlieren würde, der Sektorhändler mal entlich Lvl8 erreicht, und mein Spilt elefant nicht immer 10 Meter hinter mir parken würde
meine Lösung bezog sich auf ein read-prob bei der Sektorverteidigung und dem Bonuspack in X2.
Ich meine mit der 49003.pck auch nicht die Datei die in den cat/dat Dateien zufinden ist, sonder die die sich im T-Ordner befinden sollte.
Die Datei aus dem T -Ordner zulöschen, bringt mich umgehend zurück zum Desktop, das bringt mich auch nicht weiter. auch den Inhalt der pck-datei zulöschen hatte keinen Erfolg, und Merlins mitgelieferte Datei verträgt sich nicht mit dem Bonuspack.
Das Pilotenwechseln funtz mit den neuen Scripten des Bonuspacks auch nicht mehr richtig. Daran arbeite ich gerade, aber ist bei dem durcheinander gar nicht so einfach den durchblick nicht zuverlieren.
Die Sektorverteidigung für X3 umzustricken, da kann ich auch nicht helfen und hier ist im X2 Scriptforum vieleicht auch nicht der richtige Ort um hilfe zufinden
Ps: ich wäre schon froh wenn mein gecheater Admiral nach aktivierung der Sektorverteidigung und( seinem ersten Abschuss) nicht immer den Rang verlieren würde, der Sektorhändler mal entlich Lvl8 erreicht, und mein Spilt elefant nicht immer 10 Meter hinter mir parken würde
Goethe: Gegner glauben uns zu widerlegen, wenn sie ihre Meinung wiederholen und auf unsere nicht achten
Einstein: Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher
Einstein: Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher
-
- Posts: 197
- Joined: Thu, 17. Nov 05, 18:08
Hallo Sinuhe
Nach dem Umbenennen der plugin.autotrade.move...PCKs, nimmt X3 nun die modifizierten XML-Versionen. Damit funktioniert die aSD unter X3 zufriedenstellend. Dummerweise gibt es jetzt ein ziemliches Durcheinander bei den lib-Dateien, zumal Lucike beinahe bei jedem Release seiner Software Veränderungen daran vornimmt. Die X3 1.3 Umgebung konnte ich nicht auf 1.4 problemlos übertragen, sodass das Feintuning noch etwas dauern wird. Die Trägerversorgung ist prinzipiell über ein TransporterScript realisierbar (vgl. auch Jensemann CP-Sript).
Nach wie vor gefällt mir Deine Lösung am besten, da sie, so weit wie möglich, frei von X2-Ballast ist. Allerdings habe ich bei der Namensgebung nur readtext - dies auch mit 49...er T-Versionen.
Gruß,
Unknown object 003
Nach dem Umbenennen der plugin.autotrade.move...PCKs, nimmt X3 nun die modifizierten XML-Versionen. Damit funktioniert die aSD unter X3 zufriedenstellend. Dummerweise gibt es jetzt ein ziemliches Durcheinander bei den lib-Dateien, zumal Lucike beinahe bei jedem Release seiner Software Veränderungen daran vornimmt. Die X3 1.3 Umgebung konnte ich nicht auf 1.4 problemlos übertragen, sodass das Feintuning noch etwas dauern wird. Die Trägerversorgung ist prinzipiell über ein TransporterScript realisierbar (vgl. auch Jensemann CP-Sript).
Nach wie vor gefällt mir Deine Lösung am besten, da sie, so weit wie möglich, frei von X2-Ballast ist. Allerdings habe ich bei der Namensgebung nur readtext - dies auch mit 49...er T-Versionen.
Gruß,
Unknown object 003
-
- Posts: 165
- Joined: Sat, 7. Feb 04, 21:06
-
- Posts: 170
- Joined: Sat, 16. Jun 07, 23:23
-
- Posts: 385
- Joined: Sun, 8. Feb 04, 16:41
suche Download
Gibs noch einen Funktionierenden Download für dieses Script ?
Danke
Ralf
Danke
Ralf
-
- Posts: 385
- Joined: Sun, 8. Feb 04, 16:41
Script Sektorverteidigung
Tausend Dank
Tschüssi
Ralf
Tschüssi
Ralf
-
- Posts: 104
- Joined: Tue, 29. Apr 08, 20:12
Sektor Verteidigung Mk1
Hi Leudz,
hab da ein Problem mit dem script Sektor Verteidigung Mk1 und zwar kann es sein das das nicht mit dem update 1.4läuft??
also ich kann es wohl auswählen im schiff und steht auch patrouille und das schiff patroulliert auch nur 1stens steht neben dem piloten gar kein rang bzw ne zahl ich seh auch niregends ne rang steigerung und 2tens etwas grösseres prob is das seit ich die erweiterte namenseinstellung in der kommandokonsole eingestellt hab bei meinen boron rochen steht jetzt anstatt boron mako nur noch READText 941-3 und das krieg ich auch nix weg grrr
kann mir hier einer helfen vielleicht
greetz
mibblitz
Hi Leudz,
hab da ein Problem mit dem script Sektor Verteidigung Mk1 und zwar kann es sein das das nicht mit dem update 1.4läuft??
also ich kann es wohl auswählen im schiff und steht auch patrouille und das schiff patroulliert auch nur 1stens steht neben dem piloten gar kein rang bzw ne zahl ich seh auch niregends ne rang steigerung und 2tens etwas grösseres prob is das seit ich die erweiterte namenseinstellung in der kommandokonsole eingestellt hab bei meinen boron rochen steht jetzt anstatt boron mako nur noch READText 941-3 und das krieg ich auch nix weg grrr
kann mir hier einer helfen vielleicht
greetz
mibblitzHi Leudz,
hab da ein Problem mit dem script Sektor Verteidigung Mk1 und zwar kann es sein das das nicht mit dem update 1.4läuft??
also ich kann es wohl auswählen im schiff und steht auch patrouille und das schiff patroulliert auch nur 1stens steht neben dem piloten gar kein rang bzw ne zahl ich seh auch niregends ne rang steigerung und 2tens etwas grösseres prob is das seit ich die erweiterte namenseinstellung in der kommandokonsole eingestellt hab bei meinen boron rochen steht jetzt anstatt boron mako nur noch READText 941-3 und das krieg ich auch nix weg grrr
kann mir hier einer helfen vielleicht
greetz
mibblitz
Zum vollen Editor wechseln
hab da ein Problem mit dem script Sektor Verteidigung Mk1 und zwar kann es sein das das nicht mit dem update 1.4läuft??
also ich kann es wohl auswählen im schiff und steht auch patrouille und das schiff patroulliert auch nur 1stens steht neben dem piloten gar kein rang bzw ne zahl ich seh auch niregends ne rang steigerung und 2tens etwas grösseres prob is das seit ich die erweiterte namenseinstellung in der kommandokonsole eingestellt hab bei meinen boron rochen steht jetzt anstatt boron mako nur noch READText 941-3 und das krieg ich auch nix weg grrr
kann mir hier einer helfen vielleicht
greetz
mibblitz
Hi Leudz,
hab da ein Problem mit dem script Sektor Verteidigung Mk1 und zwar kann es sein das das nicht mit dem update 1.4läuft??
also ich kann es wohl auswählen im schiff und steht auch patrouille und das schiff patroulliert auch nur 1stens steht neben dem piloten gar kein rang bzw ne zahl ich seh auch niregends ne rang steigerung und 2tens etwas grösseres prob is das seit ich die erweiterte namenseinstellung in der kommandokonsole eingestellt hab bei meinen boron rochen steht jetzt anstatt boron mako nur noch READText 941-3 und das krieg ich auch nix weg grrr
kann mir hier einer helfen vielleicht
greetz
mibblitzHi Leudz,
hab da ein Problem mit dem script Sektor Verteidigung Mk1 und zwar kann es sein das das nicht mit dem update 1.4läuft??
also ich kann es wohl auswählen im schiff und steht auch patrouille und das schiff patroulliert auch nur 1stens steht neben dem piloten gar kein rang bzw ne zahl ich seh auch niregends ne rang steigerung und 2tens etwas grösseres prob is das seit ich die erweiterte namenseinstellung in der kommandokonsole eingestellt hab bei meinen boron rochen steht jetzt anstatt boron mako nur noch READText 941-3 und das krieg ich auch nix weg grrr
kann mir hier einer helfen vielleicht
greetz
mibblitz
Zum vollen Editor wechseln
-
- Moderator (Deutsch)
- Posts: 24969
- Joined: Sun, 2. Apr 06, 16:38
Ich füge dein Thema mal mit dem entsprechenden Thema zum Script zusammen.
***Themen zusammengefügt***
Nebenbei, gibt es einen bestimmten Grund, dass du deine Anfrage dreimal in deinem einen Beitrag formulierst?
***Themen zusammengefügt***
Zu diesem Problem gibt es von Lucike einige Seiten zuvor eine Lösung (*klick*).mibblitz wrote:steht jetzt anstatt boron mako nur noch READText 941-3
Nebenbei, gibt es einen bestimmten Grund, dass du deine Anfrage dreimal in deinem einen Beitrag formulierst?
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!