[SCR] Priority Targets - Prioritätsziele (v1.05 - 02.05.08)

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

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

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

[SCR] Priority Targets - Prioritätsziele (v1.05 - 02.05.08)

Post by Gazz » Sat, 5. Apr 08, 21:59

Dieses script verbessert die Anwahl von Zielen, speziell im Gefecht.

Es wird noch erweitert aber die derzeitige Version tut schon einige sehr praktische Dinge zuverlässig.
  • Notwendige Ausrüstung
    * Kampfsoftware Mk. 1
    * Kampfsoftware Mk. 2
    * Triplex Scanner
    * Frachtscanner (optional) (8km Reichw.) : Waffenscan (wird erst später genutzt)
    * Duplex Scanner (optional) : Langstreckenscan

    Allgemeines
    * Der Zielcomputer benutzt den Triplex Scanner. Nur wenn in dieser Reichweite keine Ziele gefunden werden, führt er einen Langstreckenscan durch.
    * Ein Langstreckenscan dauert ein paar Sekunden, vernetzt aber sämtliche eigenen Schiffe und Satelliten im Sektor.
    * Man muß nicht warten bis ein Langstreckenscan beendet ist sondern kann sofort einen neuen Befehl geben.

    * Für die Entfernungberechnung wird ein Pukt 400m vor dem Schiff benutzt so daß praktischerweise die Ziele gewählt werden, auf die sofort gefeuert werden kann.

    * Immer wenn nach Feinden gescannt wird werden auch sämtliche SQUASH Minen innerhalb von 5 km enttarnt. Das ist die selbe Reichweite in der sie auch vom Original-Zielcomputer erfasst wurden.

    * Wenn eine getarnte SQUASH Mine gefunden wurde wird zwar eine Warnung ausgegeben aber trotzdem das gewählte Zielprogramm (z.B. "Ziele nach Reichweite") ausgeführt.
    Das Ergebnis kann, muß aber nicht die neuentdeckte Mine sein.

    * Bordcomputer Ansage nur wenn ein anderes Schiff als das derzeitige Ziel gewählt wird.

    * Sprachausgabe für Anwählen von LX und M7.


    Hotkey: Ziele nach Reichweite
    * Es wird immer der nächstgelegene Feind anvisiert. Raketen und Satelliten werden ignoriert.

    * Kurzer Piepton für : Kein Ziel gefunden

    Hotkey: Scrolle Entfernung +
    * Es wird der Feind gewählt, der gerade etwas weiter entfernt ist als das aktuelle Ziel.
    Mit "Ziele nach Reichweite" und "Scrolle Entfernung +" kann man eine Feindformation sehr schnell durchschalten.

    * Kurzer Piepton für : Ende der Zielliste. Nächstes Ziel gewählt.

    Modus: Beutescan
    * Aktiv solange der Frachtraum offen ist.

    * "Ziele nach Reichweite" wählt abwechselnd den nächstgelegenen Frachtcontainer und das nächste herrenlose Schiff.

    * Geplant: "Scrolle Entfernung +" scrollt durch die aktuell gewählte Beuteklasse.
Hotkeys müssen in Controls -> Interface -> Extensions zugewiesen werden um das Script auszuführen.
Mein Vorschlag ist "T", da es diese Funktion ersetzt und dabei schneller ist.
(Es werden keine Rakten anvisiert aber dafür gibts schon Spezialscripts.)


Image (ZIP)

Resources used:
1 Hotkey
T-File / PageID 7101
Task IDs (ships) 7101, 7102

V0.50 : First long range scan implemented: Cargo scan
V1.00 : LR scan for cargo + enemies, ejected ship scan implemented
V1.01 : Scroll Prio down, LX/M7 voice
V1.05 : Script detects the user overwriting a library script with an old version
Last edited by Gazz on Fri, 2. May 08, 15:10, edited 28 times in total.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Sat, 5. Apr 08, 21:59

Notizen, geplante features, etc.
(Ist nicht schön - wirds auch nicht werden =)

All hostiles in your $Scanner.range are checked.
No result: long range scan using all your ships and satellites.
No need to check the sector map to see if *something* hostile is out there.

Base values:
M1: 60 Base values sollen auch von der selbst geflogenen
M2: 80 Schiffsklasse abhängen
M3: 40
etc.

Priority Modifiers:

1. Range - calculated to a point 400m in front of your ship's nose
+100 at 0m, linear decrease to 0 at max Scanner.Range
+100 Close Range: < 4000m
+50 Cheap Shot: < 400m (in front of your crosshair...) (N/A for huge ship)

2. Loadout (Freight Scanner installed, range < 8000)
+100 Target carries any SWG
+70 Target carries Hammerhead or Firestorm.
"SWG" or "MSL" added to ship name to explain the higher priority.
+ 100 PBE
+ 100 MD
+ 50 ID

2. Turrets
+40 per turret

3. Damage
+ Shield.Damage%
+ Hull.Damage%

4. Enemy Intent
+ 60 Target attacking me
+ 150 Target attacking one of my TS/TL/TP

5. Target turning (Motion analysis... installed)
Lead calculation is notoriously bad with turning ships.
Requires putting alpha/beta in local vars on the targets, 1 or 2 waits
Now smallest delta/distance gets a bonus.
Size? speed?

6. Pilot's decision
P -80: to ALL ships of this shiptype (in range) if you request a different target.
This is cumulative and saved with each affected ship so it's a temporary modification.
If you'd rather get Xenon M and say no to Xenon L... the computer is less likely to show you those L again.

Wenn ein Ziel vom Spieler abgelehnt wird, versucht das script einen Unterschied von nur 1 Variable zu finden.
Wenn erfolgreich dann werden die permanenten Boni leicht angepasst um beim nächsten mal ein "besseres" Ziel zu finden.

- Laden von Prioritäts-Optionen von T-File(s)

- z.Zt. werden dem Zielfindungsscript bei jedem Aufruf Prioritäts-Optionen mitgegeben.
- - - null : benutze Default
- - - Array : benutze Werte in dem Array
- - - string : Lade global array mit diesem Namen


- Für die Reichweitenkomponente evtl. eine Quadrat/Wurzelfunktion verwenden. Nahe Ziele bekommen eine weit höhere Wertung.
Ist allerdings mit Integer nicht so witzig, hat das Potential einiges an Rechenzeit zu fressen und wäre evtl. nicht für jeden transparent.

- Raketen werden z.Zt. gar nicht als Ziel gewählt.
Dafür gibts MDS Moskito und turrets. =P
Vielleicht sollten sie als Ziel gewählt werden wenn Sprengkraft >>> aktuelle Schildstärke.
Oder auch ned. *shrug*
Last edited by Gazz on Fri, 9. May 08, 17:11, edited 2 times in total.

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Fri, 18. Apr 08, 21:56

Version 1.00 released.

Frachtcontainerscan auf herrenlose Schiffe erweitert,
Langstreckenscan nun auch für Feindschiffe.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

CoolerTiger
Posts: 385
Joined: Tue, 26. Dec 06, 14:52
x3ap

Post by CoolerTiger » Fri, 18. Apr 08, 22:24

Hey Gazz

Ich find das Script cool! 8)

Also, ich hab das Script kurz getestet und habe folgende Anmerkungen:
1) ReadText7100-105 bei Start des Spiels
2) Die Squash-Minen im Sektor Polarstern werden nicht erkannt. Beweis 1: Vor manueller Zielerfassung Beweis 2: Nach manueller Zielerfassung. Liegt wohl daran, dass das eigentlich keine Feinde sind. Ist es möglich, die ins Auto-Zielerfassungsrepertoire mit einzubeziehen?

Greets

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Sat, 19. Apr 08, 09:18

CoolerTiger wrote:1) ReadText7100-105 bei Start des Spiels
Da ich ja nicht wußte wo es bei Dir steht war das zwar etwas Sucherei aber es sollte jetzt weg sein.
2) Die Squash-Minen im Sektor Polarstern werden nicht erkannt.
Liegt wohl daran, dass das eigentlich keine Feinde sind. Ist es möglich, die ins Auto-Zielerfassungsrepertoire mit einzubeziehen?
Stimmt. Das script sucht nur nach "Feinden".

Für Minen habe ich jetzt eine Ausnahme gemacht da die bei ihrem Feindbild nicht sonderlich wählerisch sind.
Irgendwie hatte ich nie an "freundliche Minen" gedacht...


Version 1.01 released.
Hotkey um Ziele durchzuschalten und etwas Sprachausgabe.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

CoolerTiger
Posts: 385
Joined: Tue, 26. Dec 06, 14:52
x3ap

Post by CoolerTiger » Sat, 19. Apr 08, 09:47

Gazz wrote:Da ich ja nicht wußte wo es bei Dir steht war das zwar etwas Sucherei aber es sollte jetzt weg sein.
Tut mir leid :) dafür ist der ReadText jetzt weg. Danke.

Aber die Squshs werden noch nicht erfasst. Bin bis etwa 2km rangeflogen.

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Sat, 19. Apr 08, 10:25

Das mit den Minen verstehe ich nicht. Ich hab hier die Rassen durchgetestet. Sogar Unknown und Race 1/2/3.

Minen aller neutralen und feindlichen Rassen werden bei mir gefunden. "Deine" scheint einer der Sonderrassen zu gehören, da der 1. Buchstabe in der ID fehlt.

Ich könnte mir nur noch vorstellen, daß du ein mod laufen hast, das einen neuen Typ Mine verwendet. Das wäre dann ein völlig anderer Schiffstyp und mein "find" Befehl läuft ins Leere.

Moment. Das läßt sich herausfinden...
Wenn du das Testscript in \Scripts kopierst...
Dann wird bei jeder Zielanwahl angezeigt, ob mein script das gerade von dir gewählte Ziel für eine "richtige" Mine hält.

Also Mine herkömmlich anwählen und Gnöbbsche drügge. =)


Irgendwie läßt es sich ja immer herausfinden aber der übliche Find-Befehl ist halt von der Rechenzeit am vorteilhaftesten.
Ich kann natürlich alle Schiffe suchen und dann den Namen vergleichen mit dem, der im Lokalisierungsfile für die SQUASH Mine eingetragen ist.
Dann rechnet das script eine Weile...
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

CoolerTiger
Posts: 385
Joined: Tue, 26. Dec 06, 14:52
x3ap

Post by CoolerTiger » Sat, 19. Apr 08, 10:42

Ich gehorche. Also, wird die Zielansicht in einem Log-File im X-Verzeichnis mitgeschrieben?

Mods hab sonst nur den XTM installiert.

Hier sind die Heute von mir benutzten/installierten Dateien im X-Verzeichnis. Dein Testscript läuft also im Script-Verzeichnis.


EDIT: das 7100 log schreibt das
PT: Config script started. Option= load, Input= 7101
Option file 7101 loaded. ARRAY ( 7101, 450 )


und das 7215 logt das mit
GameID: 9027100, 71
The Xtended Mod 0.7: Setup Started
Mod files detected: version 1
Shipyard Setup: version 434 installed
BBS News Articles: version 100 installed
BBS Offers: version 125 installed
Command Setup: version 340 installed
Hotkey Setup: version null installed
Text Files: Detected
AL Engines Registered
The Xtended Mod 0.7: Setup Finished

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Sat, 19. Apr 08, 11:54

Das war jetzt vielleicht nicht so toll erklärt. =)
Du müßtest das Testscript runterladen und in /scripts/ kopieren.

Das zeigt dann direkt auf dem Bildschirm für das aktuelle Ziel einige Informationen an und schreibt sie zusätzlich ins logfile.
Dazu ist es auch notwendig auf eine dieser Minen zu zielen so daß das script weiß was es zu tun hat.

Damit könnte ich dann feststellen was dort abläuft auch ohne das mod zu haben.

"Ich höre und gehorche!" War das nicht so eine Zombieeinheit in Warcraft 3? =)
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

CoolerTiger
Posts: 385
Joined: Tue, 26. Dec 06, 14:52
x3ap

Post by CoolerTiger » Sun, 20. Apr 08, 22:16

"Ich gehorche" hab ich von den Sklaven der Dunkelelfen aus Spellforce :-)

So, ich konnte es jetzt kurz ausprobieren. Das Problem ist, ich erhalten keine Nachricht/Mitteilung/Anzeige im Spiel, wenn ich irgendetwas anvisiere. Das Testscript hab ich aber ordnungsgemäss installiert.

Gruss

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Mon, 21. Apr 08, 14:08

Ich hab das Testscript nochmal neu gebaut.
Diesmal müßtest Du a.a.mine.test.xml im scripteditor manuell ausführen. Da kann wirklich nix mehr schiefgehen.

Erst Ziel (Mine) anvisieren, dann...
Scripteditor aufrufen (C, s, Enter - kann ich im Schlaf!)
script a.a.mine.test markieren, "r", und alles mit Enter übergehen.

Meine vorherige version war wohl zu kompliziert um zu laufen. Das ist ein script das für ein Schiff bis zu dreimal gleichzeitig läuft, verschiedene Dinge berechnet oder auch nur wartet bis eine der anderen Instanzen fertig wird...


Momentan bastel ich daran.
Image
Ein solider Langstreckenscanner ohne gleich den ganzen Sektor mit Instant-Satelliten vollzupflastern.
Der markierte Kontakt ist z.B. eine Station.
Könnte aber auch ein M1 sein oder ein Haufen M3... =)

Da kommt ein bisschen U-Boot Feeling auf. Unbekannter Sonarkontakt bei 30° Herr Kapitän!
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

Lordadmiral Atlan
Posts: 666
Joined: Thu, 18. Oct 07, 14:14

Post by Lordadmiral Atlan » Mon, 21. Apr 08, 16:27

wird es den Langstreckenscan auch als einzel script geben?

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Mon, 21. Apr 08, 17:21

Genaugenommen IST der Teil schon völlig eigenständig.
Argumente sind das Array mit den objects, welche Rasse das script benutzt und welche LR-Scan Reichweite das Schiff (auf dem das script läuft) denn haben soll.

Blöderweise funktioniert DER Teil wunderbar. Nur im Rest des scripts sind jetzt durch den Umbau Reparaturen fällig. =P

Ok, ein paar Feinheiten müssen noch rein wie Genauigkeit des scans. Entweder Entfernungsabhängig oder M1 sind genauer als M6... Wasauchimmer.

Es wäre allerdings wirklich keine so schlechte Idee zwei komplette scripts draus zu machen.
Das script entfernt sich immer mehr vom ursprünglichen Zweck so daß die Ausnahmen und Kopfstände immer schwieriger werden.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

CoolerTiger
Posts: 385
Joined: Tue, 26. Dec 06, 14:52
x3ap

Post by CoolerTiger » Mon, 21. Apr 08, 19:09

Sorry, dauerte etwas. Ich hab tagsüber keinen Zugriff auf mein X.

Hier ist ein Screenshot der Anzeige.

Ich hoffe, das hilft Dir weiter :-)

Gruss

User avatar
Gazz
Posts: 12430
Joined: Fri, 13. Jan 06, 17:39
x3tc

Post by Gazz » Mon, 21. Apr 08, 19:37

Das hilft mir insoweit daß ich nun weiß daß ich komplett daneben lag. =P

Dat is eine Ideal-Standard-Mine die eigentlich vorgesehen war. Also ist es ein doofer Fehler im script. Bah.


PS: Wenn man ein Selbstzerstörungsscript mit 10 min Vorlaufzeit schreibt (um Objekte automatisch aufzuräumen) und das durch einen Tippfehler auf Task 7101 des Spielerschiffs startet ist gar nicht so leicht herauszufinden warum man andauernd in die Luft fliegt.
Nicht daß ich sowas machen würde! Ich mein ja nur...
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

Post Reply

Return to “X³: Reunion - Scripts und Modding”