Kommando für alle Geschützkanzeln per Script setzen

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

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

Post Reply
Lottich
Posts: 6
Joined: Mon, 24. Aug 09, 19:22
x4

Kommando für alle Geschützkanzeln per Script setzen

Post by Lottich » Fri, 20. Jul 18, 03:04

Hallo,

wie der Titel schon vermuten lässt, benötige ich etwas Unterstützung.
In meinem Scriptprojekt erzeuge ich mehrere Schiffe per Scriptcall in Schleifen.

Das sind für Flotten ganz schön viele, bei denen ich noch immer "per Hand" einstellen muss, was die Geschützkanzeln machen sollen. (Beschütze Schiff, Reine Raketenabwehr, usw)

Es muss doch irgendwie machbar sein, das Ganze bereits im Script zu erledigen?! Kann mir bitte jemand aufzeigen, wie das gemacht wird?

MfG Lo..

User avatar
mynylon
Posts: 462
Joined: Wed, 9. Jan 08, 19:53
x3tc

Post by mynylon » Fri, 20. Jul 18, 10:27

Also bei AP mit EMC4AP geht das über: Option -> Spiel -> Geschützkanzeleinstellungen :)
Ich hoffe das passt für Dich ?

Lottich
Posts: 6
Joined: Mon, 24. Aug 09, 19:22
x4

Post by Lottich » Fri, 20. Jul 18, 12:23

Okay okay, das hab ich verdient. Hab zu wenig Infos gegeben...
Ja, ich benutze EMC4AP. ( Und um Scriptcodes von mir zu posten benutze ich Exscriptor. Offenbar erkennt das den Schiffstyp nicht?! )

Code: Select all

$i = 0
while$i < 5
  inc $i =
  $name = 'L.I. Security   # ' + $i
  $shp = [THIS]->call script 'a.1.Make.Ship' : typ={?}  owner={Spieler}  Sektor=$HQ  Name=$name
  $shp->set homebase to $HQ
  $shp->set command: {COMMAND_TURRET_PROTECT}
end
Mein Make.Ship Script returned natürlich das gewählte Schiff, sodass ich Nach dem Scriptcall auch weiter damit arbeiten kann, wenn ich das will.
Wenn ich jetzt ein riesen Geschwader von 90 Schiffen generiere
dann muss ich NACH dem Scripten, also wenn ich wieder im Spiel bin, bei ALLEN 90 Schiffen einzeln ins Menü gehen und dort einstellen, was deren Geschützkanzeln machen sollen...

Das dauert ewig und nervt mich extrem. Darum meine Frage.

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Sat, 21. Jul 18, 10:32

Code: Select all

*for each ship so add to your loop
$tid = 1
while $tid <= 6
  $ship-> start task $tid with script <enter here the name of the wished turret script e.g. !turret.missiledefense.std for missile defence> and prio 0: arg1=null arg2=null arg3=null arg4=null
  inc $tid =
end
you can find out the scriptnames by starting the respective command on one ship and activating the additional information, it will be the first script on task 1-6 if you start it for turret 1-6.
Edit: bin ja im deforum
also oben das muss in deinem loop rein.
die namen der scripts kriegst du über die additional infos raus, einfach auf einem eigenen schiff das Komando geben und wenns der 1. turret war ist es auf task 1 im der info ganz unten.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
JSDD
Posts: 1378
Joined: Fri, 21. Mar 14, 20:51
x3tc

Post by JSDD » Sat, 21. Jul 18, 14:36

besser, man frägt die max anzahl an turrets zuerst ab, sonst könnts passieren, dass einige script-instanzen unnötig auf unbrauchbaren tasks leerlaufen ...

Code: Select all

turret = 1
max.turrets  = ship -> get number of turrets
while turret < max.turrets
ship -> start task turret with script ...xyz... prio = 0, turret, null, null, null, null
inc= turret 
end
wobei ...xyz... das script ist, welches du laufen lassen willst.
!turret.missile.def.std für raketenverteidigung
!blabla.kill.enemies.std für alle ziele killen
usw ...

kannst auch auto jump usw via script einstellen, einfach mal unter "fly commands" reinsehen was es da so alles gibt
To err is human. To really foul things up you need a computer.
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.


Mission Director Beispiele

Lottich
Posts: 6
Joined: Mon, 24. Aug 09, 19:22
x4

Post by Lottich » Sun, 22. Jul 18, 09:52

Danke euch beiden, das ist die Lösung.
Das mit dem "get number of turrets" hab ich bereits umgesetzt.
Und die "fly commands" schau ich mir auch mal näher an, danke für den Tip.

MfG Lo..

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”