Ansonsten denke ich aber daß ne Reichweitenerhöhung schon ganz gut wäre. 10-15km paßt schon

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
nachtragDonmato wrote:mir is aufgefallen
das die ram nur funzt
wenn ich die raketen auch übers waffenmeü installiere![]()
wenn ich die da rausnehem
dann werden auch keine verschossen
Wenn man jlehtone's Tests glaubt (und das tu ich), gibt es durchaus OOS-Raketeneinsatz...X-Freak Cartman wrote:Bekanntermaßen gibt es OOS keinen Raketeneinsatz... (zumindest haben das meine Tests ergeben)
Code: Select all
$EnemyMissile = [THIS] -> find nearest missile aiming to me
Google Translate wrote:Punkt ist, während Raketen anscheinend OOS beschädigen, das nicht andeutetCode: Select all
OOS bearbeiten.[/quote]
Code: Select all
$EnemyMissile = [THIS] -> find nearest missile aiming to me
Code: Select all
$Targets = get array of enemy M5|M4
For each $Ship in $Targets
[THIS] -> launch missile at $Ship, type=Aurora
End
Der Befehl überzeugt mich überhaupt nicht. Wie kann eine Moskito-Rakete besser gegen einen Falken sein als eine Donnerschlag-Rakete? Vielleicht wird ja gewürfelt.X-Freak Cartman wrote:<Edit3> (jaja, so langsam reicht's)
-.-
Es liegt am Befehl "get best missile for target"...
Er gibt mir Raketen zurück, die gar nicht im Frachtraum vorhanden sind. IS funzt er, aber OOS hackt er total.
Code: Select all
plugin.codea.missile.fire.xml
001 * --------------------------------------------------------------------------------
002 * Aktuelle Raketenkonfiguration ermitteln und ueberschreiben
003 * --------------------------------------------------------------------------------
004
005 $MissileProbability = [THIS] -> get fire missile probability
006 $MissileTimeDifference = [THIS] -> get fire missile time difference in seconds
007
008 [THIS] -> set fire missile probability to 0
009 [THIS] -> set fire missile time difference to 1 s
010
011 * --------------------------------------------------------------------------------
012 * Feindliches Ziel ermitteln und Rakete abfeuern
013 * --------------------------------------------------------------------------------
014
015 while [TRUE]
016 @ = wait 2000 ms
017
018 if not [THIS] -> is script 'plugin.codea.ship.order' on stack of task=0
019 if not [THIS] -> is script 'plugin.codea.ship.order.wing' on stack of task=0
020 if not [THIS] -> is script 'plugin.codea.ship.order.collect' on stack of task=0
021 if not [THIS] -> is script '!ship.cmd.killenemies.std' on stack of task=0
022 skip if [THIS] -> is script '!ship.cmd.killenemiesland.std' on stack of task=0
023 break
024 end
025 end
026 end
027 end
028
029 skip if not [THIS] -> is docked
030 continue
031
032 $AttackTarget = [THIS] -> get attack target
033 $Leader = [THIS] -> get formation leader
034 skip if not $Leader
035 $AttackTarget = $Leader -> get attack target
036 skip if $AttackTarget -> exists
037 continue
038 skip if [THIS] -> is in same sector as $AttackTarget
039 continue
040
041 @ $Missile = [THIS] -> call script 'plugin.codea.missile.check' : ShipEnemy=$AttackTarget
042 skip if $Missile
043 continue
044
045 $Distance = get distance between [THIS] and $AttackTarget
046 $MissileRange = get missile range of $Missile
047 $MissileDamage = get missile max damage of $Missile
048 $ShieldStrength = [THIS] -> get current shield strength
049
050 if $Distance < $MissileRange AND $Distance < 20000
051 if $MissileDamage * 2 < $ShieldStrength
052 $MissileFire = [THIS] -> fire missile $Missile on $AttackTarget
053 else if $MissileDamage * 2 > $ShieldStrength
054 $MissileFire = [THIS] -> fire missile $Missile on $AttackTarget
055 [THIS] -> interrupt with script 'plugin.codea.missile.fire.stop' and prio 0: arg1=$AttackTarget arg2=null arg3=null arg4=null
056 end
057 end
058
059 @ = wait 30000 ms
060 end
061
062 * --------------------------------------------------------------------------------
063 * Alte Raketenkonfiguration wiederherstellen
064 * --------------------------------------------------------------------------------
065
066 [THIS] -> set fire missile probability to $MissileProbability
067 [THIS] -> set fire missile time difference to $MissileTimeDifference s
068
069 * --------------------------------------------------------------------------------
070
071 return null
Code: Select all
plugin.codea.missile.check.xml
001 * --------------------------------------------------------------------------------
002 * Daten ueberpruefen
003 * --------------------------------------------------------------------------------
004
005 skip if $ShipEnemy -> exists
006 return null
007
008 * --------------------------------------------------------------------------------
009 * Rakete nach Ziel auswaehlen
010 * --------------------------------------------------------------------------------
011
012 if $ShipEnemy -> is of class M5
013 skip if not [THIS] -> get amount of ware Nadel in cargo bay
014 $Missile = Nadel
015 skip if not [THIS] -> get amount of ware Wespe in cargo bay
016 $Missile = Wespe
017 skip if not [THIS] -> get amount of ware Hurrikan in cargo bay
018 $Missile = Hurrikan
019 skip if not [THIS] -> get amount of ware Disruptorrakete in cargo bay
020 $Missile = Disruptorrakete
021 else if $ShipEnemy -> is of class M4
022 skip if not [THIS] -> get amount of ware Nadel in cargo bay
023 $Missile = Nadel
024 skip if not [THIS] -> get amount of ware Hurrikan in cargo bay
025 $Missile = Hurrikan
026 skip if not [THIS] -> get amount of ware Disruptorrakete in cargo bay
027 $Missile = Disruptorrakete
028 else
029 skip if not [THIS] -> get amount of ware Dorn in cargo bay
030 $Missile = Dorn
031 skip if not [THIS] -> get amount of ware Hummel in cargo bay
032 $Missile = Hummel
033 skip if not [THIS] -> get amount of ware Hornisse in cargo bay
034 $Missile = Hornisse
035 skip if not [THIS] -> get amount of ware Donnerschlag in cargo bay
036 $Missile = Donnerschlag
037 skip if not [THIS] -> get amount of ware Gewittersturm in cargo bay
038 $Missile = Gewittersturm
039 end
040
041 * --------------------------------------------------------------------------------
042
043 return $Missile
Code: Select all
plugin.codea.missile.fire.stop.xml
001 * --------------------------------------------------------------------------------
002 * Laserfeuer einstellen
003 * --------------------------------------------------------------------------------
004
005 skip if not [THIS] -> is docked
006 return null
007
008 @ = [THIS] -> defensive move: type=null, intensity=100, timeout=1000ms, avoid object=$AttackTarget
009
010 * --------------------------------------------------------------------------------
011
012 return null
Mods sind mir persönlich egal.X-Freak Cartman wrote:Hmm... persönlich geh ich hier nach der Stärke der Raketen, um sicher zu sein, dass meine Tools Mod-kompatibel sind... beispielsweise hat die XTM 0.6 die Raketenwerte etwas verändert (kA, ob es bei 0.7 auch noch so ist, ich nehms einfach mal an)
Du hast nicht ganz unrecht, wenn man die Raketentypen Hammerhai und Feuersturm einbezieht. Besonders im Fall M6/M3+/M3. Aber wenn ein Scripter als stärkste Rakete die Gewittersturm oder Donnerschlag festgelegt hat, ist das eigentlich egal.X-Freak Cartman wrote:Außerdem misfällt es mir, immer nach den Schiffstyen zu gehen: Ein M3+, welches ebenfalls als M3 definiert ist, könnte von der Stärke locker als M6 durchgehen, der Split Jaguar Angreifer als M4... Man könnte die Liste so noch fortführen.
Auch hier stimme ich dir zu. Das muss wirklich nicht sein, was das Ausweichen OOS betrifft.X-Freak Cartman wrote:Ansonsten sieht mein Code von der Funktion ähnlich aus (abgesehen von dem Ausweichmanöver, welches OOS entfällt, da es nur IS wirklich greift)
Das Gefühl habe ich aber, wenn eine Nova IS mit Moskitos auf einen Falken feuert, aber auch Donnerschlag geladen hat.X-Freak Cartman wrote:btw: Es wird nicht gewürfelt, es wird scheinbar nur die maximale Hüllenstärke geprüft... Und OOS wird sogar darauf verzichtet, zu prüfen, welche Raketen wirklich installiert sind. Zu allem Überfluss wählen die Schiffe scheinbar niemals schwere Raketen wie beispielsweise Hammerhai oder Feuersturm aus...
Genau, aber man schaut auch gerne über den Tellerrand, oder?X-Freak Cartman wrote:Wie auch immer, der findige Scripter bastelt sich seine Routinen sowieso selbst ^^