[DISKUSSION] Allgemeine S&M-Fragen II

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
Killjaeden
Posts: 5366
Joined: Sun, 3. Sep 06, 18:19
x3tc

Post by Killjaeden »

fazit, ich bin zu blöd um eine bod datei in gmax zu importieren Embarassed falls jemand mich erleuchten könnte wäre ich im sehr dankbar
hast du
a) die body datei von bob in bod umgewandelt wie im tutorial beschrieben?
b) die richtigen tools installiert? (z.B. benötigst du evtl YAGG (auch von doubleshadow) )

Was klappt den eigentlich nicht?
Weißt du nicht wo du den importbefehl geben sollst (ist nämlich nicht Datei->Importieren)? Oder geht was beim importieren schief? ...
[ external image ]
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
Image
Aluren
Posts: 89
Joined: Wed, 10. Dec 08, 23:27

Post by Aluren »

die umwandlung in bod klappt einwandfrei, yagg hab ich ebenfalls installiert.

hab es mit open, importieren versucht, eventuell verstehe ich das tutorial falsch oder hab es wie von dir angesprochen mit den falschen befehlen probiert... auf jeden fall schaffe ich es nicht eine bod datei mit gmax zu öffnen.

bei diesem schritt komme ich nicht weiter

"Nun wählt ihr bei den Importer-Tools als File-Type „Body“ aus und importiert
die umgeandelte bod.datei (split_m3_var1.bod).
So. Nun seht ihr den Body. Ist recht praktisch, so wegen Grösse und so, wie
Detailreich etc...
Nun beginnt das fröhliche modellieren. Entweder direkt in Max oder Gmax,
oder ihr exportiert das Schiff und öffnet es in einem Modellinge Program eurer wahl."

*edit*
hat sich erledigt .. war anscheinend gestern zu müde :D, das hat man davon wenn man sich die nacht mit tutorials um die ohren haut. hab es jetzt nochmals versucht und es hat wunderbar funktioniert
User avatar
Ponder
Posts: 1585
Joined: Wed, 19. Nov 08, 15:58
x3tc

Post by Ponder »

Wie kann ich denn überprüfen ob ein Schiff das ich erstellen will an einem Träger docken kann. Ich habs mit <Var><RefObj> is docking possible of <value> probiert. Ergebniss:

Code: Select all

001 *$anzahlnividium = [THIS]->get amount of ware {Nividium 15_2} in cargo bay
002 *$anzahlsillizium = [THIS]->get amount of ware {Siliziumscheiben} in cargo bay
003 *$AnzahlErz = [THIS]->get amount of ware {Erz} in cargo bay
004 $dockpossibility = $ship->is docking possible of [THIS]
005 *write to player logbook $AnzahlErz
006 *write to player logbook $anzahlsillizium
007 *write to player logbook $anzahlnividium
008 write to player logbook $dockpossibility
009 if $dockpossibility == [TRUE]
010   $ship = create ship: type={Kha'ak 7 Scout} owner={Spieler} addto=[THIS] x=null y=null z=null
011   write to player logbook $ship
012 else
013   * Ansonsten-Fall
014 end
015 return null
Allerdings sagt mir der Exscriptor von Whimsy sagt mir aber das zeile 4 nicht klappt da $ship ja erst in Zeile 10 definiert wird. Also hab ich $dockpossibility ins Logbuch schreiben lassen und dort wird null angezeigt.
Wie kann ich also überprüfen das $ship erst erstellt wird wenn es auch an [THIS] docken kann?
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Allerdings sagt mir der Exscriptor von Whimsy sagt mir aber das zeile 4 nicht klappt da $ship ja erst in Zeile 10 definiert wird.
Da hat der Exscriptor auch recht.

Du könntest entweder das Schiff spawnen (nicht im Träger) und dann überprüfen, ob das Andocken möglich ist. Wenn nein, dann zerstörst du es direkt wieder.

Evtl. kannst du auch die Überprüfung, ob eine Andockmöglichkeit besteht, mittles

Code: Select all

<RetVar/IF> <RefObj> -> has a free ship dock port: ship subtype = <Value>
durchführen (zu finden in den Fly Commands).
004 $dockpossibility = $ship->is docking possible of [THIS]
Ich bin mir nicht ganz sicher, aber ich glaube du solltest $ship und [THIS] vertauschen.

MfG,
ScRaT
User avatar
Ponder
Posts: 1585
Joined: Wed, 19. Nov 08, 15:58
x3tc

Post by Ponder »

Erst mal DANKE für die schnelle Antwort :)
ScRaT_GER wrote:Du könntest entweder das Schiff spawnen (nicht im Träger) und dann überprüfen, ob das Andocken möglich ist. Wenn nein, dann zerstörst du es direkt wieder.
Geht das so schnell das man das als Spieler nicht mitkriegt?
andocken kann man über "put into envroiment"?
ScRaT_GER wrote:Ich bin mir nicht ganz sicher, aber ich glaube du solltest $ship und [THIS] vertauschen.
Also laut Madxhawk's Referenz funktioniert das so :)

EDIT:
Grad mal auf Madxhawk's Seite nachgesehn dort steht das dein Befehl

Code: Select all

<RetVar/IF> <RefObj> -> has a free ship dock port: ship subtype = <Value>
nur für M1, M2 und TL-Dockmöglichkeiten steht. Da die aber noch für X³R ist bin ich jetzt etwas verwirrt.

EDIT2: kann man Variablen subtrahieren?
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Geht das so schnell das man das als Spieler nicht mitkriegt?
andocken kann man über "put into envroiment"?
Ja, solange du keine waits dazwischen hast schon.
Zur Sicherheit kannst du auch einen Dummy im Sektor "null" der Rasse "Neutrale" erstellen und mit diesem die Überprüfung durchführen.

Zum andocken: IS geht das mit "put into environment". Damit das SIGNAL_DOCKED noch ausgelöst wird, musst du noch folgenden (oder ähnlichen) Code verwenden:

Code: Select all

001   $object -> put into environment [THIS] ->
002   $task = $object -> get next available task: starting=100
003   $object -> start task $task with script '!ship.signal.docked.std' and prio 0: arg1=null arg2=null arg3=null arg4=null arg5=null
Also laut Madxhawk's Referenz funktioniert das so Smile
Stimmt hast recht, habe es nochmal nachgeschaut.
nur für M1, M2 und TL-Dockmöglichkeiten steht. Da die aber noch für X³R ist bin ich jetzt etwas verwirrt.
Mh, also ich verwende um zu schauen, ob noch genug Schiffe an eine Station passen eine while-Schleife mit diesem Befehl. Und das funktioniert auch wunderbar mit M5, etc. :?:
EDIT2: kann man Variablen subtrahieren?
Wenn es Integer-Variablen sind schon.
"$dummy = $schiff - $station" wird wohl nichts sinnvolles ergeben, wenn $schiff und $station auch tatsächlich Objekte sind.

MfG,
ScRaT
User avatar
Ponder
Posts: 1585
Joined: Wed, 19. Nov 08, 15:58
x3tc

Post by Ponder »

Mh, also ich verwende um zu schauen, ob noch genug Schiffe an eine Station passen eine while-Schleife mit diesem Befehl. Und das funktioniert auch wunderbar mit M5, etc.
ok dann werd ich's mal ausprobieren :)
Wenn es Integer-Variablen sind schon.
"$dummy = $schiff - $station" wird wohl nichts sinnvolles ergeben, wenn $schiff und $station auch tatsächlich Objekte sind.
Wenn alles nichts hilft hätte ich die maximal Anzahl an Dockplätzen ausgelesen und die gedockten schiffen davon subtrahiert

EDIT:
sehr mit

Code: Select all

<RetVar/IF> <RefObj> -> has a free ship dock port: ship subtype = <Value>
hat's geklappt danke für deine Hilfe :)
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Wenn alles nichts hilft hätte ich die maximal Anzahl an Dockplätzen ausgelesen und die gedockten schiffen davon subtrahiert
Soweit ich weiß kann man die Anzahl der Andockplätze nicht einfach per Skript auslesen -- zumindest habe ich keinen direkten Befehl dafür gefunden.

Workarounds gibt es natürlich.
hat's geklappt danke für deine Hilfe :)
Kein Problem. ;)

MfG,
ScRaT

PS: Was ist eigentlich mit deiner Rechtschreibung los? Die ist so ungewöhnlich ... richtig. :D
User avatar
Ponder
Posts: 1585
Joined: Wed, 19. Nov 08, 15:58
x3tc

Post by Ponder »

mh komisch ich meine sowas in Madxhawk's Referenz gelesen zu haben. Vllt hab ich mich auch nur verlesen

PS: Aus Fehlern lernt man :D

EDIT: Es gibt ihn doch:

Code: Select all

<RetVar/IF> <RefObj> get dock bay size
und hier der um die gedockten Schiffen auslesen:

Code: Select all

<RetVar/IF> <RefObj> get number of landed ships
argh mist Lucike war schneller
Last edited by Ponder on Thu, 27. Aug 09, 13:34, edited 2 times in total.
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Schaf123 wrote:
Wenn es Integer-Variablen sind schon.
"$dummy = $schiff - $station" wird wohl nichts sinnvolles ergeben, wenn $schiff und $station auch tatsächlich Objekte sind.
Wenn alles nichts hilft hätte ich die maximal Anzahl an Dockplätzen ausgelesen und die gedockten schiffen davon subtrahiert
ScRaT_GER wrote:
Wenn alles nichts hilft hätte ich die maximal Anzahl an Dockplätzen ausgelesen und die gedockten schiffen davon subtrahiert
Soweit ich weiß kann man die Anzahl der Andockplätze nicht einfach per Skript auslesen -- zumindest habe ich keinen direkten Befehl dafür gefunden.

Workarounds gibt es natürlich.
DockBaySize = Station/Ship -> get dock bay size

Einen korrekten Wert bekommt man bei Fabriken und Schiffen. Bei Docks kommt immer die selbe Zahl heraus.

Gruß
Lucike
Image
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Oh, den Befehl hatte ich anscheinend übersehen.

Danke!

MfG,
ScRaT
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Problematisch wirds nur wenn ein Objekt interne und externe Docks hat.

Man bekommt nur die Summe.
Auch put into environment unterscheidet nicht, so daß ein M2 auch mal in einen internen Hangar gepackt wird... und dann versucht von dort aus zu starten. Und dann wirds mächtig eng.
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.
NerVteter
Posts: 331
Joined: Tue, 28. Mar 06, 18:47
x3tc

Post by NerVteter »

Wie finde ich herraus welche .cat datei welcher Mod ist?^^
Weiß es leider nichtmehr und würde gerne meine FV 2
Updaten =D

MfG
-> Das Universum und alles in ihm besteht aus einer einzigen Masse. <-
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

vielleicht indem du anschaust welche Daten in den Cat/Dats enthalten sind und mit der Cat/Dat der geupdateten Mod vergleichst.. der inhalt beider sollte ähnlich sein..

PS ich hoffe du hast auf mod-konflikte geachtet ;)
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
Ponder
Posts: 1585
Joined: Wed, 19. Nov 08, 15:58
x3tc

Post by Ponder »

Gibt es eine Höchstzahl an Fabriken in der Tfactories?
Too geek for real life.
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

mir ist keine solche bekannt, wenn es eine gibt ist wenn dann noch keiner drüber gestolpert... wenn es ein Limit gibt dann ist dieses in der TShips und TFactories mit sicherheit gleich hoch und ich habe gehört dass einige bereits 100 Schiffe und mehr eingefügt haben, was die vanilla-Fabrikenzhahl deutlich übersteigen sollte ;)
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
Ponder
Posts: 1585
Joined: Wed, 19. Nov 08, 15:58
x3tc

Post by Ponder »

Hm sehr misteriös... ich habe nämlich ein paar Xenonfabriken hinzugefügt und ingame werden nich alle angezeigt. Hab auhc geguckt ob alles den Xenon zugeordnet ist und stimmt auch soweit. Hm jmuss ich mal genauer gucken.
Too geek for real life.
Raumkraut93
Posts: 1368
Joined: Wed, 18. Mar 09, 22:20
x3tc

Post by Raumkraut93 »

Frage zu den Jobs

1) Ich will das in Sektoren mit dem Besitzer PLAYER argonische Schiffe (frachter) spawnen. Wie mach ich das?

2) Alternative zu 1. - wenn dort in meinem Sektor argonische Fabriken gebaut werden (die auch den Argonen gehören), werden für die dann automatisch Frachter generiert oder muss ich die denen erst zuordnen? Wie geht das dann?

3) Wenn ich neue Xenon-Sektoren mache spawnen dort automatisch Feinde oder muss ich das vorher in den Jobs noch definieren?
"Dies ist alles, was ich über den Krieg weiss: Einer gewinnt, einer verliert
und nichts ist nachher so
wie es vorher war."

"Stellt eure Truppen auf, oh große Generäle,
Der Preis des Sieges übersteigt den Preis der Niederlage."
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

1) Ich will das in Sektoren mit dem Besitzer PLAYER argonische Schiffe (frachter) spawnen. Wie mach ich das?
Im X3 Editor 2 wird "Player" nicht als Auswahlmöglichkeit für "Ship owner" (Reiter "Ship type") angegeben. D.h. aber nicht, dass es nicht doch geht.
Du musst nur herausfinden, an welcher Stelle in der Jobs.txt der Besitzer gespeichert wird und schauen, ob du dort manuell irgendwie den Spieler einfügen kannst.

Alternativ kannst du auch ein Config Script für deinen Job schreiben. Dieses wird nach dem spawnen des Schiffs direkt ausgeführt und könnte z.B. so aussehen:
config.changeowner wrote:[THIS] -> set owner race to {Spieler}
Das würde auch funktionieren.
2) Alternative zu 1. - wenn dort in meinem Sektor argonische Fabriken gebaut werden (die auch den Argonen gehören), werden für die dann automatisch Frachter generiert oder muss ich die denen erst zuordnen? Wie geht das dann?
Keine Ahnung...

3) Wenn ich neue Xenon-Sektoren mache spawnen dort automatisch Feinde oder muss ich das vorher in den Jobs noch definieren?
Sie spawnen automatisch, aber evtl. solltest du die maximal Anzahl der Xenon, die ein Job spawnen kann, erhöhen.

MfG,
ScRaT
Raumkraut93
Posts: 1368
Joined: Wed, 18. Mar 09, 22:20
x3tc

Post by Raumkraut93 »

Danke für die Antwort :)
ScRaT_GER wrote:
1) Ich will das in Sektoren mit dem Besitzer PLAYER argonische Schiffe (frachter) spawnen. Wie mach ich das?
Im X3 Editor 2 wird "Player" nicht als Auswahlmöglichkeit für "Ship owner" (Reiter "Ship type") angegeben. D.h. aber nicht, dass es nicht doch geht.
Du musst nur herausfinden, an welcher Stelle in der Jobs.txt der Besitzer gespeichert wird und schauen, ob du dort manuell irgendwie den Spieler einfügen kannst.

Alternativ kannst du auch ein Config Script für deinen Job schreiben. Dieses wird nach dem spawnen des Schiffs direkt ausgeführt und könnte z.B. so aussehen:
config.changeowner wrote:[THIS] -> set owner race to {Spieler}
Das würde auch funktionieren.
Ne du hast das glaube ich falsch verstanden, ich will nicht, das schiffe gespawnt werden die mir gehören, sondern das Schiffe die den Argonen gehören in MEINEN Sektoren gespawnt werden (also im Prinzip so als würde der Sektor den Argonen gehören).
"Dies ist alles, was ich über den Krieg weiss: Einer gewinnt, einer verliert
und nichts ist nachher so
wie es vorher war."

"Stellt eure Truppen auf, oh große Generäle,
Der Preis des Sieges übersteigt den Preis der Niederlage."

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