Tach...
hab da ein kleines Prob mit dem erstellen von folgender Sache:
1. Erstelle M2
2. Gebe ihm Befehl Zielsektor zu invasieren.
... und das ganze mit mehr als 1 M2.
Sieht so aus:
Basisscript (welches aufgerufen wird):
....
nach eingehender Diskussion mit Merroc:
Ich habe keine Ahnung... wie mache ich das nun?
Create M2 mit Inva Befehlsfolge... Problem.
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
-
- Posts: 1546
- Joined: Wed, 6. Nov 02, 20:31
Ahhhh, jetzt ja.
Wo ist das Problem?
Wo ist das Problem?
Code: Select all
$i = <Anzahl>
while $i
dec $i
$ship=create ship: type=<M2> owner=Piraten addto=<Sektor> x=0 y=0 z=0
$ship->add default items to ship
START $ship->call script '!fight.invasion':the sector to invade=<Sektor>
end
-
- Posts: 1546
- Joined: Wed, 6. Nov 02, 20:31
....
Tach...
Sorry, war gestern im Streß, aber Merroc hat sich dann noch mal darum gekümmert, und, falls das andere auch jemals brauchen, hier die Lösung:
Aufgabe:
Erstelle mehrere, verschiedene (also nix mit loop-Schleife
) M2, laße diese in einen Sektor fliegen und dort den Befehl Invasion durchführen.
Wichtig: Es hat sich herausgestellt, daß ein Commando, welches mit "Start" gestartet wird, in diesem Fall ein dickes Problem gibt: Nachdem das 1. M2 erscheint und anfängt seinen Befehl auszuführen, ist Ende im Gelände. Auch eine Zerstörung dieses ersten M2 bringt keine Änderung.
Lösung:
Der Invasionsbefehl wird stattdessen so gestartet:
$ship3= start task 0 with script !ship.cmd.invasion.std and prio 0: arg1= Zielsektor arg2-5=NULL
Offenbar ist es hier notwendig, direkt einen Task auf jeweiligem Schiff auszuführen, eine Commando alleine geht nicht.
Man muß also auch den auszuführenden Befehl exakt seiner Hierachie einordnen, automatisch geht das nicht.
Ich habe das alles so getestet.
Und jetzt geht es.
mfg Painkiller
Tach...
Sorry, war gestern im Streß, aber Merroc hat sich dann noch mal darum gekümmert, und, falls das andere auch jemals brauchen, hier die Lösung:
Aufgabe:
Erstelle mehrere, verschiedene (also nix mit loop-Schleife

Wichtig: Es hat sich herausgestellt, daß ein Commando, welches mit "Start" gestartet wird, in diesem Fall ein dickes Problem gibt: Nachdem das 1. M2 erscheint und anfängt seinen Befehl auszuführen, ist Ende im Gelände. Auch eine Zerstörung dieses ersten M2 bringt keine Änderung.
Lösung:
Der Invasionsbefehl wird stattdessen so gestartet:
$ship3= start task 0 with script !ship.cmd.invasion.std and prio 0: arg1= Zielsektor arg2-5=NULL
Offenbar ist es hier notwendig, direkt einen Task auf jeweiligem Schiff auszuführen, eine Commando alleine geht nicht.
Man muß also auch den auszuführenden Befehl exakt seiner Hierachie einordnen, automatisch geht das nicht.
Ich habe das alles so getestet.
Und jetzt geht es.
mfg Painkiller
-
- Posts: 12969
- Joined: Sun, 9. May 04, 21:26
Schau dir dazu mal die ganzen AutoUpdate-Scripte der Bonuserweiterungen an. Das eigentliche Script startet ein globales Script und beendet sich anschließend. Das globale Script startet wieder das Script auf dem Objekt und beendet sich ebenfalls. Das könntest Du dir zunutze machen.Painkiller wrote:$ship3= start task 0 with script !ship.cmd.invasion.std and prio 0: arg1= Zielsektor arg2-5=NULL
"add default items to ship" bringt doch bei jeder Anwendung verschiedene Ausrüstungsergebnisse. Also doch eine Schleife?
Gruß
Lucike

-
- Posts: 1546
- Joined: Wed, 6. Nov 02, 20:31
Ja, sicher kann ich eine Schleife verwenden, ne einfache Zählschleife im Controllscript (Jedes M2 wird in einem eigenen Script erzeugt, welches dann im Controllscript mit Schleifenfunktion aufgerufen wird).
Allerdings brauche ich keine Schleife, denn wenn ich von jedem Volk ein M2 erzeuge, daß einen Sektor angreift, dann tut es das denke ich.
Ja klar verwende ich das add default items to ship, ich will ja keine 5 gleichen Schiffe haben. Das sind ja KI Schiffe und nicht meine *g*.
Mein Problem lag eigentlich darin, daß es nicht möglich war, bei Verwendung des Start Commando-Befehls mehr als 1 M2 zu erzeugen. Das Script lief zwar weiter, aber es geschah nichts mehr.
Nein, es gab kein einfrieren und kein aufhängen des PC´s.
Ein Array ist nicht notwendig, da jedes Schiff im immer gleichen Sektor (Loomantrats Vermächtnis) (das kann ich somit festsetzen) erzeugt wird und dann einen jeweils zufällig gewählten Sektor invasiert.
Ich habe hier versucht, ein Situationsspezifisches Script möglichst kurz und ohne Schleifen zu programmieren. Wegen der CPu-Belastung...
Allerdings brauche ich keine Schleife, denn wenn ich von jedem Volk ein M2 erzeuge, daß einen Sektor angreift, dann tut es das denke ich.
Ja klar verwende ich das add default items to ship, ich will ja keine 5 gleichen Schiffe haben. Das sind ja KI Schiffe und nicht meine *g*.
Mein Problem lag eigentlich darin, daß es nicht möglich war, bei Verwendung des Start Commando-Befehls mehr als 1 M2 zu erzeugen. Das Script lief zwar weiter, aber es geschah nichts mehr.
Nein, es gab kein einfrieren und kein aufhängen des PC´s.
Ein Array ist nicht notwendig, da jedes Schiff im immer gleichen Sektor (Loomantrats Vermächtnis) (das kann ich somit festsetzen) erzeugt wird und dann einen jeweils zufällig gewählten Sektor invasiert.
Ich habe hier versucht, ein Situationsspezifisches Script möglichst kurz und ohne Schleifen zu programmieren. Wegen der CPu-Belastung...
