X/Y Position von Sektor ermitteln

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
hraban
Posts: 97
Joined: Tue, 23. Mar 04, 10:00
x3

X/Y Position von Sektor ermitteln

Post by hraban »

Hi @ all

Gibt es eine Möglichkeit aus dem Rückgabewert von

6.004 <RetVar/IF> <RefObj> get sector

die X- und Y-Koordinaten in der Galaxy zu ermitteln?

Oder habe ich eine andere, elegante Methode übersehen?

Sehe sonst nur die Alternative, den RetVar aus get sector in ein Array zu legen und alle Sektoren mit einer Doppelschleife abzufragen.

MfG
Last edited by hraban on Mon, 10. May 04, 10:49, edited 1 time in total.
Handel ist Krieg, der Einsatz von Waffen ist Ressourcenverschwendung!
User avatar
Orka
Posts: 817
Joined: Wed, 7. Apr 04, 15:19
x4

Post by Orka »

Vieleicht damit?

Code: Select all

7.005 <RetVar> = <RefObj> get universe x index 
7.006 <RetVar> = <RefObj> get universe y index 
Weis jetzt nicht ob <RefObj> der Sector selbst oder ein Obj im sektor ist...
User avatar
hraban
Posts: 97
Joined: Tue, 23. Mar 04, 10:00
x3

Danke Orka

Post by hraban »

Danke Orka

<RefObj> dürfte wohl ein Objekt und kein Sector sein.
Werde es trotzdem mal ausprobieren. Weniger als "null" kann ich nicht bekommen.

MfG
Handel ist Krieg, der Einsatz von Waffen ist Ressourcenverschwendung!
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

:roll: :? :roll: :gruebel: :idea: :wink: :D

Gruß ticaki

P.S. das geht... :D
P.P.S. Was soll man sonst mit den Befehlen anfangen :P
Zur Zeit nicht aktiv
User avatar
hraban
Posts: 97
Joined: Tue, 23. Mar 04, 10:00
x3

Post by hraban »

@ Ticaki

Dann gehört die Beschreibung von

7.005 <RetVar> = <RefObj> get universe x index
7.006 <RetVar> = <RefObj> get universe y index

geändert ... oder ist sector ein Object :gruebel:

Wir Zeit für eine Dokumentation der Script-Befehle!

MfG
Handel ist Krieg, der Einsatz von Waffen ist Ressourcenverschwendung!
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

$sector = Sector_Objekt

Du kannst keine lokalen Variabeln darauf ablegen, aber ansonsten ist es wie ein Objekt zu behandeln...

sogar "get race" funktioniert ;)

Gruß ticaki
Zur Zeit nicht aktiv
User avatar
hraban
Posts: 97
Joined: Tue, 23. Mar 04, 10:00
x3

Post by hraban »

@ ticaki

Danke für den Hinweis :)

Nachdem Du bereits so viele Erfahrungen mit dem Scripten hast - Wie verhält es sich mit rekursiven Script-Aufrufen und wieviele rekursive Aufrufe verträgt X2?

Bin immer noch hinter der Idee des alternativen "Finde Weg zum Ziel und meide feindliche Sektoren" her. Bisher aber noch theoretisch. Hoffe heute Abend ein wenig testen zu können.

MfG
Handel ist Krieg, der Einsatz von Waffen ist Ressourcenverschwendung!
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Wieviele Unterscriptaufrufe X² verträgt weiß ich nicht... Hatte selber schon bis zu 6 Stackebenen laufen.

Gruß ticaki

P.S. Wie heißt das richtige Wort nochmal für "Stackebenen"
Zur Zeit nicht aktiv
User avatar
hraban
Posts: 97
Joined: Tue, 23. Mar 04, 10:00
x3

Post by hraban »

@ Ticaki

Nennt man das nicht Iterationen? :o :wink:

Könnten, wenn ich nach dem "Try and Error" Verfahren arbeite schon mal 50 Sub-Call's werden...

MfG
Handel ist Krieg, der Einsatz von Waffen ist Ressourcenverschwendung!
XeHonk
Posts: 1087
Joined: Sun, 7. Mar 04, 23:03
x3tc

Post by XeHonk »

nein das nennt man nicht iterationen ;) das sind schleifendurchläufe *g*


probiers halt aus:

rec.test:
parameter n (zahl)
write to player logbook: n
n = n+1
call script: rec.test param=n


aber pathfinding mit vollständigem backtracken in nem echtzeitspiel ist vielleicht keine allzu gute idee o.O
User avatar
hraban
Posts: 97
Joined: Tue, 23. Mar 04, 10:00
x3

Post by hraban »

@ XeHonk

Dann ist es eine Rekursive iteration

(Die Iteration (von lateinisch iterare, "wiederholen") ist eine Methode, sich der Lösung eines Rechenproblems schrittweise, aber zielgerichtet anzunähern. Sie besteht in der wiederholten Anwendung desselben Rechenverfahrens.) :P

Dies erreiche ich, indem ich eine Routine mit gleichem Rechenverfahren und der Übergabe des Ergebnisses aus dieser selbst Aufrufe.
Das ist keine Schleife, denn eine Schleife hat ein definiertes Ende.

Die "Berechnung" des Flugweges muß ja nur einmal erfolgen, nämlich bei der Festlegung des Ziels. Der Flugweg wird danach in einem Array abgelegt, welches abgearbeitet wird.

Im Grunde das selbe wie:

4.003 @ <RetVar/IF> <RefObj> fly to sector <Var/Sector>
(Berechnet irgendwo den Weg für das Schiff / Das möchte ich ersetzen)
6.013 <RetVar/IF> get next sector on route from sector <Var/Sector> to sector <Var/Sector>
(Liefert den nächsten Sektor der angeflogen wird / Das steht in dem Array)

Und ... es stimmt, der berechnete Kurs berücksichtigt keine Änderungen, welche während dem Zielanflug auftreten. Soll auch gar nicht anders sein.

Nun muss ih aber mal den Code erstellen und Testen, sonst wird das gar nichts mehr :D

MfG
Handel ist Krieg, der Einsatz von Waffen ist Ressourcenverschwendung!

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