Turret-Fragen und Probleme bei Patroulien

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

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

User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Turret-Fragen und Probleme bei Patroulien

Post by Reflexer »

Hallo Leute,

Ich habe ein paar kleinere Probleme.

Erstens: Welchen Befehl (scriptseitig) muss ich nutzen, damit ich allen Turrets z.B. den Befehl gebe "Vernichte Feinde"?

Zweitens: Ich habe eine Gruppe Schiffe in einem Sektor x erzeugt. Die Schiffe wurden mittels

Code: Select all

$Ship->add to formation with leader $LeaderShip
zu einer Formation hinzugefügt. Es handelt sich bei diesen Schiffen nicht um Spielerschiffe, sondern um Völkerschiffe.

Habe nun versucht dem Leadership mitzuteilen, dass es im Sektor auf Pat gehen soll. Dazu habe ich

Code: Select all

$LeaderShip->add to patrol group for sector: $SpawnSector
verwendet, da ich nix anderes gefunden habe.

Leider passiert gar nix. Die erzeugten Schiffe bewegen sich, solange ich nicht in den Sektor springe, keinen Millimeter. Hab einen Sat erzeugt um zu schauen, was passiert.

Wie bekomme ich es hin, dass die Schiffe ihren Dienst (Pat in Sektor) aufnehmen? Was ist dabei zu beachten?

Drittens: Was mach folgender Befehl?

Code: Select all

$Ship->can execute StartAction
Viertens: Wenn ich einem speziellen Schiff einen Befehl geben möchte, dann ist es ja notwendig das korrekte Schiff anzugeben. Worüber wird scriptseitig das korrekte Objekt angesprochen? Über den Name, die ID,....???

Fünftens: Wie gebe ich einem Schiff scriptseitig den Befehl "Angriff auf Ziel von..." ???

Ich hoffe ihr könnt mir helfen.

Gruß
Reflexer
alles
Posts: 912
Joined: Sat, 1. Oct 05, 14:42
x4

Post by alles »

:roll: So firm bin ich auch nicht im Scripten, aber

Code: Select all

<RefObj> -> start task <Var/Number> with script <Script Name> and prio <Var/Number>: arg1=<value> arg2=<value> arg3=<value> arg4=<value> arg5=<value>
dürfte dir bei 1. schon mal weiter helfen. arg1 währe dein Turret, bei mehreren Turrets, das ganze durch ne Schleife jagen, und die Turrets hochzählen.

2. Du wirst dem direkt sagen müssen, was du willst: Töte alle Feinde in Scannerreichweite, Fliege von a nach b und mach alles platt so in etwa. Schau dir mal die job.patrol Scripte von Egosoft an.

5. Ziel vom leader auslesen, und dann müßte es in diese richtung gehen

Code: Select all

@ <RetVar/IF> <RefObj> attack run on target <Value>: timeout=<Var/Number>ms speedlimit=<Var/Number>
cu
alles
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

Danke Alles.

Somit sind die "Standard-Befehle" von ES also auch nur scripte... das wusste ich nicht. Dann schaue ich mir das mal an und werde auch mal beim SRD schauen, wie Lucike das gemacht hat.

Danke für die Info.

Er werden weniger Punkte auf der List :D
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Re: Turret-Fragen und Probleme bei Patroulien

Post by Lucike »

Reflexer wrote:Erstens: Welchen Befehl (scriptseitig) muss ich nutzen, damit ich allen Turrets z.B. den Befehl gebe "Vernichte Feinde"?

Code: Select all

090   $Turret = 1
091   $TurretsMax = $ShipThis -> get number of turrets
092   while $Turret < $TurretsMax
095   ||$ShipThis -> start task $Turret with script '!turret.killenemies.std' and prio 0: arg1=$Turret arg2=null arg3=null arg4=null arg5=null
129   |inc $Turret = 
130   end
Reflexer wrote:Zweitens: Ich habe eine Gruppe Schiffe in einem Sektor x erzeugt. Die Schiffe wurden mittels
Um eine Aufgabe auf einem Schiff zu starten muss immer ein Skript gestartet werden. z.B.

Code: Select all

001 @ START $Leader -> call script '!ship.cmd.killenemies.std' : 
002   
003 @ START $WingMan1 -> call script '!ship.cmd.attacksame.std' :  the target=$Leader  stop if leader is docked=[FALSE]
004 @ START $WingMan2 -> call script '!ship.cmd.attacksame.std' :  the target=$Leader  stop if leader is docked=[FALSE]
005 @ START $WingMan3 -> call script '!ship.cmd.attacksame.std' :  the target=$Leader  stop if leader is docked=[FALSE]
006   
007   return null
Reflexer wrote:Drittens: Was mach folgender Befehl?

Code: Select all

$Ship->can execute StartAction
Kein Ahnung. Habe ich noch nicht benutzt.
Reflexer wrote:Viertens: Wenn ich einem speziellen Schiff einen Befehl geben möchte, dann ist es ja notwendig das korrekte Schiff anzugeben. Worüber wird scriptseitig das korrekte Objekt angesprochen? Über den Name, die ID,....???
Über das Objekt "Schiff" selbst. Dazu musst du es über den "find ship"-Befehl suchen oder das Schiff bei seiner Entstehung eventuell global speichern.
Reflexer wrote:Fünftens: Wie gebe ich einem Schiff scriptseitig den Befehl "Angriff auf Ziel von..." ???
s. Zweitens

Gruß
Lucike
Image
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

Vielen Dank Lucike....

Nach und nach wird es hell :D

Das mit dem globalen Speichern der Schiffe hab ich ohnehin schon so gemacht :)

wenn ich die Schiffe in einem Array global halte, was passiert dann, wenn das Schiff zwischenzeitlich zerstört ist? Es werden ja vermutlich nur Referenzen auf die Objekte gehalten. Steht dann null drin?
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

na ja, nicht ganz: du kannst zwar so gesehen nichts mehr mit dem Schiff machen, weil es ja nicht mehr existiert, aber du kannst immer noch auf die gespeicherten Lokalen Vars und auch andere Werte zurückgreifen ;) (aber kA wie lange, ich wette das wird auch irgendwann gelöscht...)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Re: Turret-Fragen und Probleme bei Patroulien

Post by Gazz »

Reflexer wrote:Erstens: Welchen Befehl (scriptseitig) muss ich nutzen, damit ich allen Turrets z.B. den Befehl gebe "Vernichte Feinde"?
Beim Übergang OOS -> IS werden für AI Schiffe automatisch turretscripts gestartet.

OOS werden sie komplett deaktiviert - anders als bei Spielerschiffen.

Reflexer wrote:wenn ich die Schiffe in einem Array global halte, was passiert dann, wenn das Schiff zwischenzeitlich zerstört ist? Es werden ja vermutlich nur Referenzen auf die Objekte gehalten. Steht dann null drin?
Dann tust du gar nichts mehr mit dem Schiff.
Kommt nur Käse bei raus.

Dafür gibts
if exist
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Re: Turret-Fragen und Probleme bei Patroulien

Post by Reflexer »

Gazz wrote:
Reflexer wrote:wenn ich die Schiffe in einem Array global halte, was passiert dann, wenn das Schiff zwischenzeitlich zerstört ist? Es werden ja vermutlich nur Referenzen auf die Objekte gehalten. Steht dann null drin?
Dann tust du gar nichts mehr mit dem Schiff.
Kommt nur Käse bei raus.

Dafür gibts
if exist
Jub - war mir bekannt. War nur die Frage, ob dann automatisch null drinsteht, wenn es weg ist.

Ich muss das Array namlich aufräumen und einen neuen Leader bestimmen, wenn der alte futsch ist, damit für die Dauer der Auseinandersetzung ein Leader definiert ist, sonst irrt die "kopflose" Flotte durch den Sektor :D Und es geht schneller auf "null" zu prüfen, als für jeden Eintrag "if exist" zu prüfen... iss zwar nur ein wenig Laufzeit, aber ich code immer möglichst ressourcenschonend :D

Ich hab noch eine weitere Frage. Besteht die Möglichkeit ein Schiff "unsichtbar" zu setzen ("-> set invisible" kennt er nicht :D )? Sowohl auf der Map, als auch "nicht scanbar"? Sowas bräuchte ich für eine der Spionagemissionen.... Hab iwie nix passendes gefunden bisher...

Gruß

Reflexer

P.S. Und vielen Dank für die vielen hilfreichen Antworten bisher.... Heute gings ja mit großen Schritten voran.... Die ersten Flotten bekriegen sich schon :)
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

Ich hab noch eine weitere Frage. Besteht die Möglichkeit ein Schiff "unsichtbar" zu setzen ("-> set invisible" kennt er nicht )? Sowohl auf der Map, als auch "nicht scanbar"? Sowas bräuchte ich für eine der Spionagemissionen.... Hab iwie nix passendes gefunden bisher...
Hat keiner eine Ahnung ob und/oder wie das geht?
alles
Posts: 912
Joined: Sat, 1. Oct 05, 14:42
x4

Post by alles »

Die einzigen, die mir einfallen, sind die Piraten. Wenn man denen ein Schiff erstellt, und den cover Status noch nicht true setzt, sind die ja erst mal "theoretisch" keine Piraten.

cu
alles
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

du hast mich missverstanden....

ich benötige 2 Dinge....

1. ich muss ein Schiff (ggf. sogar das player-ship) auf unsichtbar setzen.... und zwar so, dass es quasi in einem Feindes-Sektor "nicht wargenommen" wird.... -> für einen begrenzten zeitraum, solange man einen abstand von über 3000m zu einem anderen schiff einhält,... aber das bekomme ich alles geprüft -> nur erstmal das Schiff unsichtbar setzen, sodass es nicht sofort beim Einflug in den Feinessektor zerlegt wird.

2. ich brauche eine funktion, die neben dem oben erwähnten eine Anzahl n spielereigener Schiffe zusätzlich auch nicht auf der Sektoren-Map erscheinen lässt... ich erläutere kurz den Hintergrund.... in höchster Rangstufe, nach Abschluss einer bestimmten Mission wird dem Spieler die Möglichkeit gegeben den Kampfverlauf einer Schlacht in der Map zu verfolgen... Dazu werden 9 Sateliten in den Sektor gepackt, die temporär dem Spieler "gehören", damit er was sieht... allerdings soll er mit den Dingern nix anfangen können, außer eben zu beobachten. Daher will ich sie auf der Map ausblenden. Sie müssen "unsichtbar" sein, damit sie nicht von den kämpfenden Flotten zerlegt werden, falls der Spieler ebenfalls im Krieg mit der anderen Rasse ist.....

Gazz macht irgend sowas beim RoF mit den Geschütztürmen, wenn ich mich recht entsinne..... Das iss nur immer so viel Script bei ihm..... finde da mal was :D :D
alles
Posts: 912
Joined: Sat, 1. Oct 05, 14:42
x4

Post by alles »

:gruebel: Es gibt doch die Ware Tarnvorrichtung, schon mal probiert, ob die vielleicht das macht, was du suchst?
Die Tarnvorrichtung ist eine Spezialerweiterung, die ursprünglich von den Paraniden für Spionagemissionen entwickelt wurde. Die zugrunde liegende Technik ist den anderen Völkern immer noch unbekannt. Mithilfe dieses Gerätes kann ein Schiff für Radar und auch für normale Beobachter unsichtbar gemacht werden. Aufgrund seiner gefährlichen Natur wird es in den meisten Sektoren als höchst illegal betrachtet, da man befürchtet, es könnte in die Hände von Piraten oder Xenon fallen, wodurch alle Rassen der Gefahr eines Überraschungsangriffs ausgesetzt wären.
Trotzdem halten sich Gerüchte, nach denen das Militär jedes Volkes heimlich Staffeln von Kampfschiffen unterhält, welche mit diesen Geräten ausgestattet sein sollen.

cu
alles
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

alles wrote::gruebel: Es gibt doch die Ware Tarnvorrichtung, schon mal probiert, ob die vielleicht das macht, was du suchst?
Die Tarnvorrichtung ist eine Spezialerweiterung, die ursprünglich von den Paraniden für Spionagemissionen entwickelt wurde. Die zugrunde liegende Technik ist den anderen Völkern immer noch unbekannt. Mithilfe dieses Gerätes kann ein Schiff für Radar und auch für normale Beobachter unsichtbar gemacht werden. Aufgrund seiner gefährlichen Natur wird es in den meisten Sektoren als höchst illegal betrachtet, da man befürchtet, es könnte in die Hände von Piraten oder Xenon fallen, wodurch alle Rassen der Gefahr eines Überraschungsangriffs ausgesetzt wären.
Trotzdem halten sich Gerüchte, nach denen das Militär jedes Volkes heimlich Staffeln von Kampfschiffen unterhält, welche mit diesen Geräten ausgestattet sein sollen.

cu
alles
Habs grade bei den Sats versucht - geht nicht - wurden dirket angegriffen und zerlegt...
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Reflexer wrote:1. ich muss ein Schiff (ggf. sogar das player-ship) auf unsichtbar setzen....
Klappt nicht.

Du könntest allerdings sämtliche ES scripts umschreiben, so daß ein Schiff, bei dem die loval.var "unsichtbar" gesetzt ist, von sämtlichen Scripts ignoriert wird.

So scripts wie attack.all.enemies halt.

Und wenn irgendein Object für den Spieler Radarsichtbereich generieren soll, dann muß es auch dem Spieler gehören.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

Gazz wrote:Und wenn irgendein Object für den Spieler Radarsichtbereich generieren soll, dann muß es auch dem Spieler gehören.
Das kann es ja. Es soll nur eben nicht in der Sektorübersicht erscheinen. Du machst sowas ja auch beim RoF mit den Türmen. Die verschwinden ja auch aus der Übersicht. Wie geht das?
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

vielleicht indem er sie in ne Station verschiebt, vorläufig zerstört etc.? jedenfalls haben sie bestimmt dabei keine Scannerreichweite, die kommt allein von dem Sat, der die Position markiert, deswegen fällt es niemandem auf ;) :D :P
du kannst ja mal versuchen, irgendein Objekt im Spielerbesitz mehr als 4.000 km von der Sektormitte weg zu platzieren, aber ich bezweifle dass das aus Scripttechnischer sicht funktionieren wird..

PS hat ein UFO im "Spielerbesitz" eigentlich ne Scannerreichweite? oder ne Raumfliege? (wenn es nicht mit gewöhnlichen mitteln geht muss man ungewöhnliche probieren ;) :D)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Reflexer wrote:Das kann es ja. Es soll nur eben nicht in der Sektorübersicht erscheinen. Du machst sowas ja auch beim RoF mit den Türmen. Die verschwinden ja auch aus der Übersicht. Wie geht das?
Aber ich dachte, der Sinn der Sache ist, daß sie Radarsicht erzeugen? Dann dürfen sie doch nicht weg sein...
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
User avatar
SuperVegeta
Posts: 1611
Joined: Tue, 20. Dec 05, 11:13
x3tc

Post by SuperVegeta »

schon mal das probiert
<RefObj> ignore collisions: <Var/Number>
sollte doch eigendlich auch für WaffenBullets gelten, OOS ???
wurde aber kein Feindschiff davon abhalten es anzugreifen, auch wenns
nicht treffen kann
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Nee, das klappt nur IS.

Man kann einem Objekt nicht sagen, daß es nur ein Objekt im Spielerbesitz ignorieren soll.

Da muß man schon sämtliche Scripts ändern, die Ziele suchen.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
Chaber
Posts: 6693
Joined: Wed, 6. Nov 02, 20:31
x4

Post by Chaber »

Rasse des spielers ändern? *zb auf "Freunde"?

oder Schiffsmodell austauschen durch ein "nicht sichtbares" und die FF-einstellungen zu alles und jedem auf Freund solange die Tarnung aktiv sein soll
Du empfindest Xenon "langweilig", Khaak nur "lästig" und willst einen richtigen Feind in einem nagelneuem Universum?
Dann warte auf meinen Mod, "den" Feind wirst du hassen lernen ;) -> Mapper/Skripter (auch MD) und Modder gesucht, melden per PN bei Interesse.
Forumsthread - - - NW-Modforum

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