- hilfe ! unerwartetes Problem mit zusatz Kommando :( -

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

User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

- hilfe ! unerwartetes Problem mit zusatz Kommando :( -

Post by dPM_HeMan »

arbeite grade an meinem ersten richtigen Script, geht um eine Art Erweiterung des Boosts, naja eigentlich tuned es den Antrieb für eine kurze Zeit, das Script funktioniert eigentlich auch ganz gut soweit, aber:

Um das tunig zu aktivieren dachte ich an einen Befehl unter "Spezial" -> "Antrieb tunen" , hab also alles nötige hinzugefügt. Das Problem dabei ist nur, dass der jetzt jedesmal den Autopilot aktiviert , schalte ich ihn manuell aus, wird auch das Script mittendrin "abgewürgt"

Wie kann ich also verhindern, das der Autopilot aktiviert wird ???

würde auch gerne mal eine Testversion Uploaden, wo könnte ich das wohl machen ?
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Das Script wird nicht abgewürgt... Beim Scripten gilt zur Zeit "Es kann nur einen geben" Entweder steuerst du das Schiff oder das Script. Es können nicht beide das sagen haben :D

Gruß tim
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

*argh* :headbang:

Mit anderen Worten, das Ganze ist immoment unmöglich zu realisieren oder wie ?
Guest

Post by Guest »

kannst ja vorher ein paar triebwerkstunings intallieren lassen und nachher einfach mit negativer anzahl wieder entfernen oder? oder hast das eh so gemacht?
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

jupp, am Anfang des Scriptes gibt es extra Triebwerkstunings und am Ende sollen die wieder abgezogen werden, das Problem ist, wenn ich den Befehl aus dem Schiffsmenü ausführe, dann startet der den Autopiloten und ich kann nix machen, deaktivieren ich den Autopiloten, dann wird das Scrip mittendrin abgebrochen und die zusätzlichen Tunings werden nicht mehr entfernt :(
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Dann mach doch einfach zwei Befehle einen zum Einschalten und einen zum Ausschalten
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

das geht leider auch nicht, denn dann müsste der Spieler so ehrlich sein und schnell nach der vorgesehenen Zeit ( die ja leider nichtmehr automatisch läuft, wenn man erstmal den Autopiloten deaktiviert ) das Tuning selber ausschalten :( er hätte also die Möglichkeit die ganzen Vorteile zu nutzen ohne die Nachteile in kauf nehmen zu müssen und dann ist das Script eher ein Cheat und somit für mich nichtmehr interessant :thumb_down:
User avatar
lenny5000
Posts: 892
Joined: Mon, 29. Sep 03, 19:06
x3

Post by lenny5000 »

Ich weiß nicht ob das geht, aber vielleicht kannst du versuchen, das Script Global laufen zu lassen und ihm das Schiff als Argument übergeben?
Greets
lenny5000
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

@HeMan
Dann erstelle einen Navsat irgendwo weit abseits der Ebene und lass das Script darauf laufen, nach Beendigung aber nicht vergessen den Navsat zu killen.
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

Moin,
geht glaube ich einfacher. Lege das Script so an, dass Du es auf zB einer Station (oder wenn es kein Endlosscript ist auf Null) ausführst und als Zielargument das Schiff (oder direkt Konstante [Playership]) anwendest.

Das sollte so funktionieren.

Viel Erfolg,
jnrk
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Einspruch... 8)

1. Man startet in 1.3 keine Scripte auf Stationen, weil man sie im Fehlerfall nicht beenden kann :!:
2. Man startet keine Scripte auf Objekten, die nicht von einem Selbst erzeugt wurden oder der KI gehören. [Inkompatibilität]
3. Wenn einer jetzt kommt und sagen ich mach das so, gut ein Script geht, zwei auf einem System kommen sich über kurz oder lang in die Haare :rant: .

Gruß tim :mrgreen:
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

zu:
1. Ich kann die Station jederzeit zerstören und damit auch das Script :)
2. dann erzeugt man eleganterweise sein eigenes Objekt und zerstört es am Ende wieder,
zB Schematisch
Script1
create .... Neuesirgendwas
Neuesirgendwas -> call script ....
kill .... Neuesirgendwas
Besser ?
3. ab V1.4 wird man wohl mehrere Scripte auf einem Objekt ausführen können *freu*

Ich wende zZt 3 Scripte von "Außerhalb" auf mein Playership an und das funktioniert gut. Man muss nur peinlich darauf achten, dass man die Scripte auch wieder gestoppt bekommt (geht zB wenn die Scripte eine Globale-Variable abfragen, dann kann man sie von außerhalb setzen und das jeweilige Script beendet sich).

Gruß,
Sascha

Nachtrag:
Stationen zu verwenden ist allerdings ziemlich ungeschickt.
Last edited by jnrk on Sat, 27. Mar 04, 12:39, edited 1 time in total.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Ich hab Einspruch erhoben gegen die Stationsbenutzung! :P
Eleganter ist es ein Sat/Schiff zu erstellen und es nach Beendigung zu zerstören.

Obwohl...davon halt ich auch nichts...aber das sind halt vorlieben! :D

Gruß tim
ArcaJeth
Posts: 2245
Joined: Mon, 10. Nov 03, 18:22
x3tc

Post by ArcaJeth »

... das mit den Stationen ist zur zeit wirklich nicht sonderlich gut ... man kann da nur 1 Script drauf laufen haben und wenn man die Stationsdetails aufruft dann werden eventuelle Wartezeiten abgebrochen ... außerdem nutz ich bei meinen SVP die Spielerstationen :wink: :twisted: ab 1.4 soll man aber mehr Scripts lokal auf einem Objekt laufen lassen können als nur eins (übernehme keine Garantie dafür ;) )
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

jnrk wrote:Lege das Script so an, dass Du es auf zB einer Station (oder wenn es kein Endlosscript ist auf Null) ausführst und als Zielargument das Schiff (oder direkt Konstante [Playership]) anwendest.
wie meinst du das mit "auf Null ausführen" ? Das Script ist kein Endlosscript, im groben fügt es erst dem [Playership] ein paar Triebwerktunings hinzu, dann wartet es eine weile und dann werden die wieder abgezogen.

Wenn ich das Script auf einem NavSat oder so ausführe, dann muss ich den wohl auch anwählen um das Script zu starten oder ?

Ich werd mal ein wenig experimentieren, das mit dem Global-Script hört sich vielversprechend an.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

@heman
Wenn ich das Script auf einem NavSat oder so ausführe, dann muss ich den wohl auch anwählen um das Script zu starten oder ?
Nein mußt du nicht. Du startest das Script in deinem Schiff. Dieses Script erstellt einen Nav-Sat und startet das 2. Script auf diesem.

Beim 1. anwählen wird ein Nat-Sat erstellt
Beim 2. anwählen wird er zerstört und damit das Script beendet.

Dummy = Create Ship .....
@ START Dummy -> script call.....

Gruß tim
Zur Zeit nicht aktiv
jnrk
Posts: 231
Joined: Thu, 11. Mar 04, 12:00
x2

Post by jnrk »

ungefähr wie folgt:

Neuesscript:

Code: Select all

Arguments:
Schiff, <ship>, Schiff auswaehlen
NULL -> call script DEINSCRIPT : uebergabeschiff =$schiff
Deinscript-modifiziert:

Code: Select all

Arguments:
uebergabeschiff, <ship>, uebergabeschiff

Alles wo Du hier im Code THIS stehen hast durch $uebergabeschiff ersetzen
Auf jeden Fall vor dem Testen Deine Spielstände sichern. Das Schlimmste ist Scripte zu starten, die man nicht mehr beendet bekommt.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

jnrk wrote:ungefähr wie folgt:

Neuesscript:

Code: Select all

Arguments:
Schiff, <ship>, Schiff auswaehlen
NULL -> call script DEINSCRIPT : uebergabeschiff =$schiff
Deinscript-modifiziert:

Code: Select all

Arguments:
uebergabeschiff, <ship>, uebergabeschiff

Alles wo Du hier im Code THIS stehen hast durch $uebergabeschiff ersetzen
Auf jeden Fall vor dem Testen Deine Spielstände sichern. Das Schlimmste ist Scripte zu starten, die man nicht mehr beendet bekommt.
Man kann bei dem script call befehl keine NULL angeben... :( Hab aber noch nicht mit

Code: Select all

Dummy = NULL
Dummy -> script call...
probiert.

Gruß tim
Zur Zeit nicht aktiv
User avatar
M.Kessel
Posts: 1460
Joined: Wed, 13. Nov 02, 11:49
xr

Post by M.Kessel »

ticaki wrote:Einspruch... 8)

1. Man startet in 1.3 keine Scripte auf Stationen, weil man sie im Fehlerfall nicht beenden kann :!:
2. Man startet keine Scripte auf Objekten, die nicht von einem Selbst erzeugt wurden oder der KI gehören. [Inkompatibilität]
3. Wenn einer jetzt kommt und sagen ich mach das so, gut ein Script geht, zwei auf einem System kommen sich über kurz oder lang in die Haare :rant: .

Gruß tim :mrgreen:
Gut, der Mann. :D
User avatar
dPM_HeMan
Posts: 820
Joined: Mon, 16. Feb 04, 13:08
x3

Post by dPM_HeMan »

*juhuuuuu* ich habe es hingekriegt, es war tatsächlich sehr einfach:

001 @ START $BoostX.dummy -> call script 'BoostX' :
002 return null

wobei hier $BoostX.dummy einfach eine Variable ohne weitere Bedeutung ist.

Jetzt läuft alles fast perfekt, nur der Sound kommt noch (" Autopilot aktiviert" )

Das komplette Script ist übrigens jetzt auch fertig, wer Interesse hat:

http://www.egosoft.com/x2/forum/viewtopic.php?t=38727

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