Missile-Missile-Defender mit Abfrage für Raketen erweitern?

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

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

Indoril
Posts: 796
Joined: Sat, 28. Feb 04, 20:36
x2

Missile-Missile-Defender mit Abfrage für Raketen erweitern?

Post by Indoril »

Hi, hab' mich jetzt auch mal ans Scripten gemacht (die allerersten gehversuche :roll: ). Erst mal ein ganz großes Danke an alle die Anleitungen
gepostet haben (und danke an die Zusammenfassung im United Script Tutorial :thumb_up: ).
Dabei bin ich über das kleine "Missile-Missile Defender" Script von jnrk gestoßen:

Code: Select all

Arguments
1: schiff , Var/Ship , 'schiff'

001   
002   wdh:
003   $missile2kill = $schiff -> find nearest missile aiming to me
004   $verfuegbare = $schiff -> get current missile
005   = $schiff -> fire missile $verfuegbare on $missile2kill
006 @ = wait randomly from 2000 to 3000 ms
007   goto label wdh
008   
009   
010   return null 
Was muss ich jetzt noch einfügen, damit vor Abschuss der "defendermissile" geprüft wird, ob es sich lohnt die Rakete abzuwehren. Also zum beispiel, dass nur dann eine Abfangrakete gestartet wird, wenn eine Rakete größer als eine Hummel auf den Player gelockt ist?

Ich hoffe mal, dass ich euch Scriptgötter nicht mit langweiligen Fragen auf trab halte, aber ich bin ein Noob im selber scripten :roll:
Trotzdem schon mal danke und noch 'en schönen Sonntag!

CU Indoril

[Edit]
Die Suchfunktion habe ich benutzt, also bitte nicht darauf verweisen :wink:
[/Edit]
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

...

Post by jnrk »

Erstmal Herzlich willkommen hier...

hoffe ich irre mich nicht auf die Schnelle:

mit
6.001 <RetVar/IF> <RefObj> get object class
Zwischen Zeile 3+4 einfügen:
$m2kclass = $missile2kill get object class

erhälst Du die Klasse der Rakete, wobei Klasse die Sorte meint, dann brauchst Du nur noch mit IF-Bedingungen abfragen ob sich eine Bekämpfung lohnt.

zB

IF $m2kclass == hummel or $m2kclass == hornisse
Zeile 4-6
End

Gruß,
jnrk
Indoril
Posts: 796
Joined: Sat, 28. Feb 04, 20:36
x2

Re: ...

Post by Indoril »

jnrk wrote:Erstmal Herzlich willkommen hier...

hoffe ich irre mich nicht auf die Schnelle:

mit
6.001 <RetVar/IF> <RefObj> get object class
Zwischen Zeile 3+4 einfügen:
$m2kclass = $missile2kill get object class

erhälst Du die Klasse der Rakete, wobei Klasse die Sorte meint, dann brauchst Du nur noch mit IF-Bedingungen abfragen ob sich eine Bekämpfung lohnt.

zB

IF $m2kclass == hummel or $m2kclass == hornisse
Zeile 4-6
End

Gruß,
jnrk
Vielen Dank,
werde ich dann gleich mal ausprobieren :)
User avatar
M.Kessel
Posts: 1460
Joined: Wed, 13. Nov 02, 11:49
xr

Re: Missile-Missile-Defender mit Abfrage für Raketen erweite

Post by M.Kessel »

Indoril wrote:Hi, hab' mich jetzt auch mal ans Scripten gemacht (die allerersten gehversuche :roll: ). Erst mal ein ganz großes Danke an alle die Anleitungen
gepostet haben (und danke an die Zusammenfassung im United Script Tutorial :thumb_up: ).
Dabei bin ich über das kleine "Missile-Missile Defender" Script von jnrk gestoßen:

Code: Select all

Arguments
1: schiff , Var/Ship , 'schiff'

001   
002   wdh:
003   $missile2kill = $schiff -> find nearest missile aiming to me
004   $verfuegbare = $schiff -> get current missile
005   = $schiff -> fire missile $verfuegbare on $missile2kill
006 @ = wait randomly from 2000 to 3000 ms
007   goto label wdh
008   
009   
010   return null 
Was muss ich jetzt noch einfügen, damit vor Abschuss der "defendermissile" geprüft wird, ob es sich lohnt die Rakete abzuwehren. Also zum beispiel, dass nur dann eine Abfangrakete gestartet wird, wenn eine Rakete größer als eine Hummel auf den Player gelockt ist?

Ich hoffe mal, dass ich euch Scriptgötter nicht mit langweiligen Fragen auf trab halte, aber ich bin ein Noob im selber scripten :roll:
Trotzdem schon mal danke und noch 'en schönen Sonntag!

CU Indoril

[Edit]
Die Suchfunktion habe ich benutzt, also bitte nicht darauf verweisen :wink:
[/Edit]
Hm, da fehlt noch ne "Kleinigkeit." Du solltest dir merken, welche Rakete schon auf eine andere abgefeuert wurde, sonst ballerst du alles auf "eine Rakete" raus. Die Info kannst du am Objekt selber ablegen (Fremdrakete) Oder in einer Liste. Dann ist natürlich immer ein check notwendig, ob deine "Abfangrakete" noch existiert.

Desweiteren ist es günstig, mit Moskitos auf alle Typen außer der Hornisse zu feúern. Für eine Hornisse benutzt man die Wespe, die Wendigkeit ist exakt gleich.

Weitere Dinge die geprüft werden sollten:

1) Nur auf Raketen feuern, die dein Schiff auch treffen können (Geschwindigkeitsvergleich Rakete<->Schiff)

2) Ein check, ob die Abfangrakete auch wirklich schneller ist, als die abzufangende Rakete. Im anderen Fall ist es nämlich günstiger, einfach 1 Teil der "billigsten ware" über Bord zu werfen, als "Düpel". :D

3) Schließ Kampfdrohnen mit ein. Nichts kann eine Kampfdrohne besser vernichten, als eine Mosquito.

Gruß Michael
I'm depressed

Return to “X²: Die Bedrohung - Scripts und Modding”