Wie kann ich ein bestimmtes Schiff angreifen lassen?

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

JoeDoe
Posts: 22
Joined: Thu, 19. May 05, 14:15
x4

Wie kann ich ein bestimmtes Schiff angreifen lassen?

Post by JoeDoe »

Hallo!
Ich habe mir selbst ein Script erstellt, indem ein Khaak-Shiff erstellt wird. Es soll nun ein ausgewähltes Schiff angreifen.

Ich habe es so gemacht:

$I = set attack target to $player
$ATTACK = set command COMMAND_ATTACK_TARGET

doch leider greift das schiff nicht an, sondern fliegt einfach irgendwo hin
User avatar
proggy3456
Posts: 2027
Joined: Sun, 6. Apr 03, 18:57
x3ap

Post by proggy3456 »

Hm, erstmal würd ich ne andere Befehlszeile nehmen. "set command" ist nur für kosmetische Zwecke da. Im Menü Fly Commands find sich ein Kommando, das da lautet:

START <RefObj> command <Object Command>: arg1=<Value>,arg2=<Value>,arg3=<Value>,arg4=<Value>

RefObj ist das Schiff, das später den Befehl ausführen soll. Je nachdem welche Variable du für das erstellen deines Schiffes benutzt hast, musst du diese auch verwenden. In diesem Beispiel muss RefObj also $ship sein:

$ship = create ship: type=blablala....

Und dann müssten nach dem Kommando noch ein paar Argumente freistehen. Das erste Argument kann man durch eine Variable oder Obejkt ersetzen. Dies wird dann das Schiff sein, das angegriffen wird, hier: $target. Für ATTACK_TARGET wird nur ein Argument benötigt, also den Rest durch "null" ersetzen.

So sollte das aussehen:

START = $ship > command COMMAND_ATTACK_TARGET: arg1=$target,arg2=null,arg3=null,arg4=null

Jetzt nur noch eine Zeile oder ein Argument, die die Variable $target bestimmt und Skript ausführen. Fertig! :D
JoeDoe
Posts: 22
Joined: Thu, 19. May 05, 14:15
x4

Post by JoeDoe »

Vielen Dank!
JoeDoe
Posts: 22
Joined: Thu, 19. May 05, 14:15
x4

Post by JoeDoe »

hmm geht doch noch nicht.

das script sieht ungefähr so aus:

$target = Var Shipt/station
$Player = Var Shipt/station

$x = $player -> get x position
$y = $player -> get y position
$z = $player -> get z position
$sektor = $player -> get sektor
$y = $y + 2000
$z = $z + 2000

$khaak1 = craete ship owner=khaak type=...
$khaak1 = add default items to ship
START = $khaak1 command COMMAND_ATTACK_TARGET arg1=$target,arg2=null,arg3=null,arg4=null

Wo liegt da der Fehler?
User avatar
proggy3456
Posts: 2027
Joined: Sun, 6. Apr 03, 18:57
x3ap

Post by proggy3456 »

Hab nochmal nachgeguckt, es gibt COMMAND_ATTACK, das für das standartmäßige Angreifen benutzt wird. Allerdings gibts da noch COMMAND_ATTACK_TARGET. Dies wird bei "Greife mein Ziel an", also das Ziel im Fadenkreuz vom Spieler wird beim Angriff priorisiert. Es ist mir auch schon passiert, dass ich beide verwechselt habe.

Ersetzte COMMAND_ATTACK_TARGET durch COMMAND_ATTACK.

Profit! :D

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