[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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

[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.)


[ external 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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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: 550
Joined: Tue, 26. Dec 06, 13: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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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: 550
Joined: Tue, 26. Dec 06, 13: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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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: 550
Joined: Tue, 26. Dec 06, 13: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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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: 550
Joined: Tue, 26. Dec 06, 13: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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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.
[ external 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: 801
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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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: 550
Joined: Tue, 26. Dec 06, 13: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: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

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.

CoolerTiger
Posts: 550
Joined: Tue, 26. Dec 06, 13:52
x3ap

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

Soll vorkommen :D . Nebenbei, ich freu mich schon auf Dein nächstes Script :-) Der Screenshot sieht gut aus. Ich glaub es wird dann mal wieder Zeit, ohne den XTM Mod neu anzufangen.

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Mon, 21. Apr 08, 20:41

Vermutlich wird das "nächste script" viel eher fertig weil alle aufwändigen Teile schon funktionieren.

Wenn mein Plan so funktioniert kann man einem Schiff auch befehlen auf so einen Kontakt zuzufliegen.
Klingt einfach aber die lösen sich natürlich in Luft auf (ok, Vakuum) wenn das Gebiet von einem "echten" scanner erfasst wird.

Nur welchen Namen soll das Kind haben? Sonar wäre stilvoll aber Quatsch. =)
Radar wäre logisch aber warum waren alle Rassen bisher zu doof so etwas "einfaches" einzusetzen? Im Weltraum ist das das perfekte System und 100km sind da überhaupt keine Reichweite. Außerdem ist es so klein und handlich daß man es sogar heute schon in Kampfjets einbaut. Ich würde es aber lieber auf M6+ begrenzen weil das ein ziemlicher Rechenzeitfresser sein könnte. =P

Wenn ich den auf 30-50 km begrenze muß ich mir schon Weltraumziesel einfallen lassen. Handgroße fellige Weltraumschädlinge, die bei Blähungen hochenergetische Radarechos aussenden und so Messungen über zu große Entfernungen wertlos machen.
Oder vielleicht auch was irgendwas verrücktes.

Die Begrenzung auf M6+ könnte ich natürlich auch vergessen und den Spieler entscheiden lassen wo er es einbauen läßt und wenn schon dann gleich in mehreren Qualitätsstufen.
Als Ware wird das nix denn es gibt keine Commandwares mehr. Nur noch Handelswaren, was einfach nicht passt.

Ganz ohne Waren gibts allerdings immer ein Problem mit dem Interface. Woher weiß ich welches Schiff Radar hat?
Das Schiff könnte sich (R) an den Namen hängen (farbig für Qualitätsunterschiede) aber es gibt einige Flottenscripts die Dinge mit den Schiffsnamen anstellen...
Damit der Spieler das nicht grundsätzlich bei jedem Schiff einbaut brauche ich nur genügend Waren - und Einbauzeit - verlangen. Ist ja nicht meine Rechenzeit. =)

So wies aussieht verbringe ich wohl wieder genausoviel Zeit mit Planen wie mit Scripten. Hehe.
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: 801
Joined: Thu, 18. Oct 07, 14:14

Post by Lordadmiral Atlan » Tue, 22. Apr 08, 15:11

du kannst doch ne HW nehmen, die AlphaVersion braucht 4 s fracht raum die gamma version 100XL

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Fri, 2. May 08, 15:08

Version 1.05 released.

Script erkennt jetzt wenn der user ein library script mit einer veralteten Version überschreibt.
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.

DWS
Posts: 419
Joined: Sat, 19. Feb 05, 21:11
x3tc

Post by DWS » Sat, 28. Jun 08, 10:17

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.)
Welche Spezialscripts gibt es für Raketen?
Auch wenn Raumfliegen im Liegen hinter Raumfliegen im Raum fliegen, fliegen Fliegen Fliegen nach.

Post Reply

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