[DISKUSSION] Allgemeine S&M-Fragen

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

Locked
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER » Thu, 18. Jun 09, 17:32

Ich weiß ehrlich gesagt nicht was du mit Auflösung meinst.
Dass die einzelnen Bodys (in der Scene sind ja insgesamt 3) unterschiedliche Polygonanzahlen haben, ist wohl klar.

Das Komische ist halt, dass der Hauptbody richtig dargestellt wird, wenn man ihn alleine importiert. Wenn man ihn mit der Scene importiert, wird ein Teil des Hauptbodys zu groß dargestellt.

Und das verstehe ich eben nicht. Ich dachte nämlich, dass in der Scene nur der Body geladen wird und nicht verändert.

MfG,
ScRaT

User avatar
pax der erhabene
Posts: 149
Joined: Mon, 31. Dec 07, 00:21
x3tc

Post by pax der erhabene » Thu, 18. Jun 09, 17:54

Wenn der Body aleine importiert wird glit eine Andere Richtgröße als wenn er aus einer Scene geladen wird.

wie gesagt Vermute ich das nur.

wenn also der body alleine geladen wird richtet er sich nach irgend einer Standart Grösse wenn der body mit einer scene geladen wird and den anderen objeckten? am ersten Objekt ? oder sonst wo dran.

bei meinem Schiff ist ein Turret Flach gequetsch wie eine Flunder und ich vermute das das mit der Tschips zusammen hängt oder an der Scene

Code: Select all

{ 0x2002;  -0; -0; 0;  0.000000; 0.000000; 0.000000; 0.000000; -1;  -1; } // 1
diese Werte in der Scene kann ich auch noch nicht alle zuordnen aber sinn würde es machen wenn die grösse irgendwo anders auch noch angegeben ist. so kann man ein polygon mäßig Grosses Objeckt erstellen und Später im Spiel ein kleines Objeckt Anzeigen das eine hohe "Auflösung" hat.(Man beachte die Anfürungszeichen oder auch gänsefüsschen bennant)

kann aber auch sein das ich total daneben liege und totalen Quatsch erzähle :D

Bin nunmal ein Klugsch***er

[ external image ]

MFG PAX
Ein grosser Mensch ist, wer sein kinderherz nicht verliert. (Mencius)

Ihr Fragt ob ich Verrückt bin? Hab ich denn je das gegenteil behauptet?!

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

Post by ScRaT_GER » Thu, 18. Jun 09, 18:37

Irgendwas scheint an deine Theorie dran zu sein.
Um das zu prüfen habe ich einen kleinen Test gemacht.
Ich habe im Max einen Würfel (a=10) erstellt und exportiert. Dann habe ich den Würfel vergrößert (a=20) und wieder exportiert.
Hier Auschnitte der .bod - Dateien:

Würfel 1

Code: Select all

1000; // body size
// vertices (8)
0; 0; 0; // 0
100000; 0; 0; // 1
0; 0; 100000; // 2
100000; 0; 100000; // 3
0; 100000; 0; // 4
100000; 100000; 0; // 5
0; 100000; 100000; // 6
100000; 100000; 100000; // 7
-1; -1; -1; // end of verts
Würfel 2

Code: Select all

2000; // body size
// vertices (8)
0; 0; 0; // 0
100000; 0; 0; // 1
0; 0; 100000; // 2
100000; 0; 100000; // 3
0; 100000; 0; // 4
100000; 100000; 0; // 5
0; 100000; 100000; // 6
100000; 100000; 100000; // 7
-1; -1; -1; // end of verts
Der einzige Unterschied ist der Eintrag der mit "body size" gekennzeichnet ist - das scheint eine Art Multiplikator zu sein.

Mein Problem ist damit trotzdem nicht gelöst. =(

MfG,
ScRaT

User avatar
pax der erhabene
Posts: 149
Joined: Mon, 31. Dec 07, 00:21
x3tc

Post by pax der erhabene » Thu, 18. Jun 09, 18:41

wenn es ein wert in der scene file ist kriegen wir das raus. Exportiere doch mal eine scene mit einem würfel den du kopierts und dann ein wenig vergrössert wieder einfügst dann müssten wir ja den wert erkennen der die größe angibt.

:gruebel:
Ein grosser Mensch ist, wer sein kinderherz nicht verliert. (Mencius)

Ihr Fragt ob ich Verrückt bin? Hab ich denn je das gegenteil behauptet?!

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

Post by ScRaT_GER » Thu, 18. Jun 09, 19:19

Ein kleiner Durchbruch:

Mit dem X Models 3D Viewer kann ich mir endlich auch die Scene anschauen.
Wo vorher alles leer war, dreht sich jetzt alles wie es soll. =)

Allerdings seltsamerweise erst nachdem ich alle Teile der Scene geladen habe. D.h. ich muss erst alle einzelnen Bodys laden und dann die Scene zweimal öffnen (beim ersten Mal klappt es nie).
Ob das ein Programmfehler ist oder einer in der Scene, weiß ich nicht.

Im Spiel ist leider trotzdem nichts zu sehen. =(

@Pax

In der Scene ist dieser Wert, soweit ich sehen konnte, nicht angegeben - nur in der Body-Datei.

MfG,
ScRaT
Last edited by ScRaT_GER on Fri, 19. Jun 09, 10:51, edited 1 time in total.

User avatar
pax der erhabene
Posts: 149
Joined: Mon, 31. Dec 07, 00:21
x3tc

Post by pax der erhabene » Thu, 18. Jun 09, 19:25

Bäh... Ich glaub ich bin icht der passende gesprächs partner :shock:

Letzter Versuch(??):

Es hört sich so an als ob du die Bodys Einzelnd abgespeichert hast.
der Modelviewer braucht die Passenden Angaben in der scene Und die Passenden Bodys in den Cats auf die du ihn zugreifen lässt.
Ein grosser Mensch ist, wer sein kinderherz nicht verliert. (Mencius)

Ihr Fragt ob ich Verrückt bin? Hab ich denn je das gegenteil behauptet?!

Icetrack
Posts: 170
Joined: Tue, 1. May 07, 12:32
x4

Post by Icetrack » Fri, 19. Jun 09, 17:34

Kann ich eine Station erstellen, die für den Spieler und die KI unischtbar ist und die auch nicht angeflogen werden kann, auf die ich aber Zwecks Standort in einem Script zurückgreifen kann?

Wenn ja, wie mache ich das? (Konnte bisher keine funktionierenden Script-Befehle finden ...)

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

Post by ScRaT_GER » Fri, 19. Jun 09, 17:41

Eine richtige Station, mit Waren, etc.?

Wenn das nur zwecks Standort sein soll, dann speichere doch einfach einen Positionsarray (X,Y,Z,Sektor) in einer globalen Variable.

@Pax

Ja, die Bodys sind seperat gespeichert.

Code: Select all

VER: 6;

P 0; B special\shield_beacon; N Bspecial\shield_beacon; b /Bake
{ 0x2002;  0; 0; 0;  0.000000; 0.000000; 0.000000; 0.000000;  -1; 1; } // 0

P 1; B special\shield_beacon_ring1; N Bspecial\shield_beacon_ring1; b /Zylinder 1 (+ Animation)
{ 0x2002;  0; 0; 0;  0.000000; 0.000000; 0.000000; 0.000000;  -1; 1; } // 0
{ 18; 0.500000; -1.000000; 0.000000; 0.000000; 500; 2; } // 1
{ 18; 0.500000; -1.000000; 0.000000; 0.000000; -1; -1; } // 2 

P 2; B special\shield_beacon_ring2; N Bspecial\shield_beacon_ring2; b /Zyliner 2 (+ Animation)
{ 0x2002;  0; 0; 0;  0.000000; 0.000000; 0.000000; 0.000000;  -1; 1; } // 0 
{ 18; 0.500000; 0.000000; 0.000000; -1.000000; 500; 2; } // 1
{ 18; 0.500000; 0.000000; 0.000000; -1.000000; -1; -1; } // 2 
Da stehen doch alle nötigen Einträge drin.

Und wie gesagt. Es funktioniert im Modelviewer, allerdings erst wenn ich alle Bodys einzeln lade und dann zweimal die Scene.
Ist doch irgendwie seltsam...

MfG,
ScRaT

Icetrack
Posts: 170
Joined: Tue, 1. May 07, 12:32
x4

Post by Icetrack » Fri, 19. Jun 09, 18:09

ScRaT_GER wrote:Eine richtige Station, mit Waren, etc.?

Wenn das nur zwecks Standort sein soll, dann speichere doch einfach einen Positionsarray (X,Y,Z,Sektor) in einer globalen Variable.
Ja, ne richtige Station, wenn ich die jetzt aber erstelle und in einen array eintrage und sie dann zerstöre, kann ich dann immernoch (nach der Zerstörung) die Position von der Station abfragen?

Das Problem ist, dass mir der Standort allein eigentlich nicht reicht, ich brauxche da ne richtige Station, der man Waren hinzufügen und wegnehmen kann ...

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

Post by ScRaT_GER » Fri, 19. Jun 09, 18:18

Ja, ne richtige Station, wenn ich die jetzt aber erstelle und in einen array eintrage und sie dann zerstöre, kann ich dann immernoch (nach der Zerstörung) die Position von der Station abfragen?
Nein, das wird nicht gehen. Du könntest sie erstellen, die Position in einen Array eintragen, und die Station anschließend zerstören.

Du könntest zwei Sachen versuchen:

1. Wenn du die Station nicht "dauerhaft" brauchst (also so, dass sie z.B. Waren produziert), sondern nur um ein paar Werte auszulesen, könntest du folgendes Versuchen:

$station = create station: type={Stationstyp} add to=null x=null y=null z=null

Dann im weiteren Skriptverlauf immer mit $station weiterarbeiten.
Wenn man z.B. die maximale Geschwindigkeit eines Schiffes rausfinden möchte, geht das mit so einem Befehl.

2. Die Station sehr abseits der Ekliptik erstellen. Du könntest z.B. 400 zu den X/Y/Z Werten, bei denen deine unsichtbare Station stehen soll, addieren, sodass deine Station quasi nicht im Sektor ist. Wenn du dann die Position ausließt, musst du natürlich immer 400 abziehen.

Hoffe das hilft!
MfG,
ScRaT

Icetrack
Posts: 170
Joined: Tue, 1. May 07, 12:32
x4

Post by Icetrack » Fri, 19. Jun 09, 18:31

ScRaT_GER wrote:2. Die Station sehr abseits der Ekliptik erstellen. Du könntest z.B. 400 zu den X/Y/Z Werten, bei denen deine unsichtbare Station stehen soll, addieren, sodass deine Station quasi nicht im Sektor ist. Wenn du dann die Position ausließt, musst du natürlich immer 400 abziehen
Die Idee ist gut, ich glaube ich raff das Denken heute nicht mehr, zu viele Codezeilen. xD

Das wird gehen, ich danke dir! :)

Cronos988
Posts: 691
Joined: Mon, 27. Aug 07, 12:34
x3tc

Post by Cronos988 » Fri, 19. Jun 09, 18:32

ScRaT_GER wrote:
1. Wenn du die Station nicht "dauerhaft" brauchst (also so, dass sie z.B. Waren produziert), sondern nur um ein paar Werte auszulesen, könntest du folgendes Versuchen:

$station = create station: type={Stationstyp} add to=null x=null y=null z=null

Dann im weiteren Skriptverlauf immer mit $station weiterarbeiten.
Wenn man z.B. die maximale Geschwindigkeit eines Schiffes rausfinden möchte, geht das mit so einem Befehl.
Dazu habe ich eine kurze Rückfrage: Aufgrund einiger Fehlversuche beim Skripten habe ich im Sektor "null" zwei Rheim Werke, die ich erst nach dem Weiterspielen bemerkt habe.
Ist es möglich diese per SE zu zerstören? Ich dachte da an ein:

$Arr.Stations -> get STations in Sektor null

und dann eben die Stationen des Arrays zerstören.

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

Post by ScRaT_GER » Fri, 19. Jun 09, 19:04

$Arr.Stations -> get STations in Sektor null
Das geht nicht, da habe ich immer null als Antwort bekommen.

Es geht aber folgendermaßen:

$array = get stations from race Player type=null.
$size = size of array $array
while $size
dec $size=
$station = $array[$size]
$sector = $station -> get sector
skip if $sector
$station -> destruct show no exlosion [TRUE]
= wait 1 ms
end

Das sollte funktionieren.

Ich möchte nochmal auf meine Frage hier hinweisen, damit die nicht untergeht.

Und: Wie bekomme ich es hin, dass bei einer Frachtdrohne, die ein Ziel hat und bestimmte Waren (ab-)laden soll, im Besitztümer-Fenster so etwas wie

Belade...Energiezellen
Menge: 1000

angezeigt wird?

MfG,
ScRaT

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Fri, 19. Jun 09, 19:43

schau dir dort mal die ersten 10 Befehle an:

http://www.madxhawk.com/kb.php?mode=cat&cat=12&start=25

;)
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
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER » Fri, 19. Jun 09, 20:22

Danke, werde ich ausprobieren.

Ein ungelöstes Problem beim Einfügen neuer Modelle kann man immer noch hier finden.

MfG,
ScRaT

EDIT: Also es funktioniert schonmal teilweise.
Allerdings erscheint jetzt zwar "Belade" oder "Entlade" im Infomenü, aber was er be-/entlädt erscheint nicht.

[THIS]->set command target: $ware
[THIS]->set command target2: $amount

Diese Zeilen habe ich verwendet. Dass nichts angezeigt wird, liegt wahrscheinlich daran, dass der von mir gewählte Custom Command, gar keine Targets hat.
Kriegt man das irgendwie hin, dass die Ware und die Anzahl auch noch angezeigt werden?

User avatar
pax der erhabene
Posts: 149
Joined: Mon, 31. Dec 07, 00:21
x3tc

Post by pax der erhabene » Fri, 19. Jun 09, 21:18

@ScRaT_GER: Hast du den Modeviewer so Eingestellt das er auf die Spiel Daten Zurück greift? wenn ja Hast du die Neuen Dateien In den Cats deines spiels. Der Modelviewer Lädt Scenes immer aus den Spiele verzeichnis welches du ihm bei der Installation angegeben hast.
Fehlen dort die Bodys (Welche du ja woanders Abgespeichert hast) in den cats die er liest dann Zeigt er die Objekte nicht an !!!
Ein grosser Mensch ist, wer sein kinderherz nicht verliert. (Mencius)

Ihr Fragt ob ich Verrückt bin? Hab ich denn je das gegenteil behauptet?!

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

Post by ScRaT_GER » Fri, 19. Jun 09, 21:31

Oh, muss man die Sachen etwa in Cats haben?
Ich mache das immer über Datei -> Öffnen.

Könnte das evtl. auch der Grund sein, warum im Spiel nichts angezeigt wird?

MfG,
ScRaT

User avatar
pax der erhabene
Posts: 149
Joined: Mon, 31. Dec 07, 00:21
x3tc

Post by pax der erhabene » Fri, 19. Jun 09, 21:42

Fürs Spiel Muss nicht Umbedingt in Cats Sein dann aber in der Passenden Ordner Struktur.

Meine Fehler Zum Nachschauen:
1. die Indexe (Also Die Zeilen Nummer Pxx In der scene) In der Tship nicht Geändert für Turrets und Kammeras.#

2. die Id in der Tships Falsch angegeben (SS_SH_XXXXX muss es sein. Danke Noch mal laux :) )

3. Ich Glaube Einige Rechtschreib Fehler. Habe die scene ja auch Per hand verändert

4. Einige Rechtschreib Fehler in dem Datei Namen oder in der scene Zuordnung in der Tships
(Am besten Unter Eigenschaften den Pfad der scene Kopieren. du Brauchst aber nicht alles.
Z.B. : C:\Users\Pax der Erhabene\Desktop\PAX MOD\objects\ships\MM6\Player_MM6_scene.bod
wird zu -> ships\MM6\Player_MM6_scene)

Viel Glück
Ein grosser Mensch ist, wer sein kinderherz nicht verliert. (Mencius)

Ihr Fragt ob ich Verrückt bin? Hab ich denn je das gegenteil behauptet?!

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

Post by ScRaT_GER » Fri, 19. Jun 09, 23:15

Zu

1. Bei einem Spezialobjekt gibt es so etwas nicht. Zumindest nicht bei meinem. =P

2. Ebenso. Der Name ist SS_SPECIAL_SHIELD_BEACON - sollte doch nicht das Problem sein, oder?

3. Konnte keine finden - lasse mich aber gerne eines Besseren belehren. Nochmal der Link: Klick mich!

4. Konnte auch dort keine Fehler finden.

Das Problem Hauptproblem ist ja nicht der Modelviewer, sondern das Einfügen ins Spiel. Ich weiß echt nicht weiter...

----------------------------

Anderes Thema:

Was muss ich tun, damit

[THIS]->set command target: $ware
[THIS]->set command target2: $amount

auch im Besitztümermenü erscheint?
Folgende Form soll es nachher haben:

Belade...Energiezellen
Anzahl: 1000

Geht das überhaupt mit einem neu eingefügten Command?

MfG,
ScRaT

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Sat, 20. Jun 09, 08:12

ScRaT_GER wrote:Anderes Thema:

Was muss ich tun, damit

[THIS]->set command target: $ware
[THIS]->set command target2: $amount

auch im Besitztümermenü erscheint?
Folgende Form soll es nachher haben:

Belade...Energiezellen
Anzahl: 1000

Geht das überhaupt mit einem neu eingefügten Command?

MfG,
ScRaT
Ich kann dir damit nicht gezielt weiter helfen, weil ich die Befehle noch nie gebraucht habe.. aber ein Tipp von mir: schau dir mal die EGO-Handelsscripte an, wie es da gemacht wird.. denn in denen funktioniert es ja ;)
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 ;)

Locked

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