Ich arbeite zurzeit an einer intelligenten Zielerfassung, die diese Probleme beheben soll.
Das Script basiert auf den Notizen von Gazz:
http://forum.egosoft.com/viewtopic.php? ... 06#2428306
Jeder Gegner wird einzeln bewertet und am Ende wird der Gegner mit der höchsten Priorität ausgewählt.
Das Schreiben des Scripts ist nicht sonderlich schwer, dafür aber die Bewertung der Gegner. Hier brauche ich eure Hilfe
Zurzeit wird jeder Gegner folgendermaßen bewertet:
Ignorieren
Wenn ein Ziel bereits markiert ist und der Spieler ein Neues anfordert erhält das Ziel -100 Punkte
Geschwindigkeit
Die Geschwindigkeit wird mit der Lasergeschwindigkeit des Spielers verglichen:
Code: Select all
100 * 200 / ( ( 2 * Geschwindigkeit + Lasergeschwindigkeit ) * 100 / Lasergeschwindigkeit ) - 100
Ziel des Feindes
Wenn der Feind das Spielerschiff zerstören möchte, erhält er +75 Punkte.
Attakiert er ein anderes Schiff des Spielers erhält er +25 Punkte (außer TS, TP +100; TM +90)
Entfernung
Die Entfernung des Feindes wird mit der Feuereichweite verglichen:
Code: Select all
100 * 200 / ( ( Entfernung + Reichweite ) * 100 / Reichweite ) - 100
Desto weiter die Gegner entfernt sind, desto irrelevanter sind die Entfernungen zwischen ihnen.
Winkel zum Spielerschiff
Wenn sich der Gegner direkt vor dem Spielerschiff befindet, erhält er +100 Punkte. Hat er eine Abweichung von 10° zum Spielerschiff erhält er +90 Punkte, bei einer Abweichung von 20° sind es +80 Punkte usw.
Desto weiter der Gegner vom Spielerschiff entfernt ist, desto irrelevanter ist der Winkel:
Code: Select all
Winkelbonus * ( -1000000 / Feuerreichweite * Entfernung + 1000000 ) / 1000000
Stärke
Die Stärke des Gegners wird Parabelförmig berechnet:
Code: Select all
( S - G )^2 / -500000 + 100
S= Anzahl an Schüssen des Spielers nötig um Gegner zu zerstören
G= Anzahl an Schüssen des Gegners nötig um Spieler zu zerstören
Ebenso wird sich ein M1 einen möglichst gleichstarken Gegner suchen und M5 vermeiden.
Am Ende werden alle Boni addiert, der Feind mit der höchsten Bewertung wird ausgewählt.
Hier brauche ich eure Unterstützung. Der Bewertung kann sicherlich deutlich verbessert werden. Habt ihr Vorschläge für bessere Formeln? Sind weitere Bewertungen wünschenswert? Oder ist eine der obigen Bewertungen unsinnig?
Das aktuelle Script könnt ihr hier runterladen:
http://www.xplanefreeware.net/hosted/de ... /I_AIM.zip
Um es zu benutzen muss ein Hotkey für 'I AIM' angelegt werden.
Es funktioniert soweit, nur die Bewertungen sind wahrscheinlich noch nicht perfekt, weshalb ich um eure Hilfe bitte.
Jeder Scan generiert zurzeit die Log Datei 7375 in der die meisten Bewertungen ausgelesen werden können.