[V1.61] TelCat - Katapultstart und Jägerverwaltung.

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
Charlie1000
Posts: 392
Joined: Sun, 31. Oct 04, 18:38
x3tc

Post by Charlie1000 »

Hi, nun ja Sicherheit kostet eben richtig Kohle........ :lol:

Mit dem Hammer meinte ich allerdings auch die Geschichte mit den freien Slots.

Gruß und nochmals THX
Charlie

PS: Auch nach der Änderung sind keine anderen Probleme aufgetaucht.
Trägergeschwindigkeitsänderung ist so auch ok, fühlt man sich wie im Richtigen Leben: ...Steuermann, drehen Sie den Träger in den Wind und veringern die Geschwindigkeit.... "The Eagle has landed".....***ggg*
Bin ich so wie ich war oder werde ich sein wie ich bin ?
Rekrut1a[SKHG]
Posts: 639
Joined: Sun, 8. Feb 04, 16:35
x3tc

Post by Rekrut1a[SKHG] »

Man schaue sich einmal https://www.egosoft.com/x2/forum/viewto ... 07&start=0 an.

Dort ist ebenfalls ein Skript mit einem Transporter-Katapult aufgetaucht. Es könnte natürlich sein daß zwei Leute praktisch zur selben Zeit, denselben Einfall hatten, aber irgendwie glaube ich nicht an den Zufall. Man beachte auch den Nick des "Authors."
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »

Ähm... hä?!?

Ich guck mir mal den Code von dem an, dann weiss ich genaueres. Ich habe ne bestimmte Art meine Variablen zu benennen und so Zeugs...

P: Muss erst mal einkaufen gehen...später.
Have fun: Gala Do.
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Wollte nur bescheid geben das ich es vorliegen hab - ist nur im moment etwas stressig werd wohl erst nächstes Wochenende zum Testen kommen.

Gruß ticaki
Zur Zeit nicht aktiv
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »

ticaki wrote:Wollte nur bescheid geben das ich es vorliegen hab - ist nur im moment etwas stressig werd wohl erst nächstes Wochenende zum Testen kommen.

Gruß ticaki
Vielen Dank für die Rückmeldung, ticaki :)
Wochenende/nächste Woche ist ein guter Zeitpunkt.


@All

Sein Code ist komplett neu geschrieben. Weder die Architektur, noch die Variablengebung deuten auf eine direkte Kopie hin.
How ever: die Schlüsselprozesse sind identisch. So verwendet er z.B die selben - nun, sagen wir mal "nicht ganz orthodoxen" - Befehlsfolgen, um die Schiffe aus dem Träger zu teleportieren, oder um ihnen danach Befehle zuzuteilen.

Code: Select all

062      $ship -> put into environment $bigShipSector ->
063      $ship -> set position: x=$bigShipX y=$bigShipY z=$bigShipZ
064      START $ship -> command COMMAND_PROTECT : arg1=[THIS], arg2=null, arg3=null, arg4=null
Hmmm...wenigstens den Ursprung hätte er nennen dürfen. :shock:
Naja, was solls.

Zur klarstellung:
JEDER darf von mir aus dieses Script verwenden, ändern, weiterentwickeln, in sein Script einbinden, perfektionieren, weitergeben oder verschenken - solange er meinen Namen als Ursprung nennt (Ghalador/Gala Do) und die Nutzung nicht komerzieller Natur ist.
Das Nutzungsrecht innerhalb allfälliger komerzieller Strukturen liegt einzige und alleine bei Egosoft im Rahmen der X-Reihe.

Das war meine Zusicherung an ticaki und daran halte ich mich.
Have fun: Gala Do.
User avatar
Cadvan
Posts: 2951
Joined: Sun, 14. Mar 04, 05:05
x4

Post by Cadvan »

ich hatte im englischen forum auf diesen thread hingewiesen udn gesagt das es bereits eingesendet ist , sowie ein zwei hinweise zu fragen dort gegeben, wie sie hier beantwortet wurden.

heute habe ich eben eine mail von ideaspy empfangen, deren inhalt ich hier wiedergeben möchte:
Ideaspy 2.5 wrote: Titel: I should have checked before...

Well, I removed my script as you've done the same before me.
10 hours of programming wasted on an already solved problem...

I'm sorry...
Ob nun zufall oder nicht soll sich jeder eine meinung drüber bilden, auf jeden fall wird dieses scriptz weiter ghaladors sein.

Huefte
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »



* * * * * * * * * * * * UPDATE 1.23 online! * * * * * * * * * * * *


Siehe erstes Posting.



Und weiter gehts :)
Have fun: Gala Do.
User avatar
mega|Doc
Posts: 324
Joined: Tue, 17. Feb 04, 00:09
x4

Post by mega|Doc »

danke schön, für deine arbeit :) , macht weiter so und die community wirds dir danken. all daumen drücke für die signierung 8)

EDIT: So installiert und bisher keine fehler gefunden :D
"Das Weltall ist ein Kreis, dessen Mittelpunkt überall, dessen Umfang nirgends ist."
Blaise Pascal (19.06.1623 - 19.08.1662)
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

ticaki wrote:Wollte nur bescheid geben das ich es vorliegen hab - ist nur im moment etwas stressig werd wohl erst nächstes Wochenende zum Testen kommen.
ticaki ist z.Z. OOS. ;)

Ich werde ihn dabei unterstützen und mich ebenfalls diese Woche mit der Erweiterung auseinandersetzen.

Gruß
Lucike
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »




* * * * * * * * * * * * UPDATE 1.24 online! * * * * * * * * * * * *


Siehe erstes Posting.



2 Fehler behoben und Update an Egosoft verschickt.

PS: Danke Lucike :)
Have fun: Gala Do.
User avatar
mega|Doc
Posts: 324
Joined: Tue, 17. Feb 04, 00:09
x4

Post by mega|Doc »

*gg* schon wieder ein update :D

zum glück guck ich ins forum jeden tag rein :wink:
"Das Weltall ist ein Kreis, dessen Mittelpunkt überall, dessen Umfang nirgends ist."
Blaise Pascal (19.06.1623 - 19.08.1662)
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

Wirklich sehr nett. ;)

Ein paar Punkte:
  • Es kommt vor, dass nicht alle angegebenen Schiffe starten. Ich würde den Befehl "get ship array from sector/ship/station" verwenden.
  • Die Kommandoanzeige sollte angeglichen werden. Wenn z.B. die Jäger den Träger beschützen sollen, sollte auch "Beschütze ... Träger" dort stehen. Genau so wenn sie ein Ziel angreifen sollen, z.B. "Attackiere ... Ziel".
  • Die Raketenversorgung würde ich entfernen und für die kommende Erweiterung "THOR" aufheben, da dieses ja ein Jägerschnellstart sein soll. Das Kampfkommando "attackiere" sollte aber bleiben und die Kampfsoftware MK1 (Träger und Jäger) zur Bedingung gehören.
  • Vielleicht sollte man doch die normalen Befehle belegen und nicht die zusätzlichen Kommandoslots. Die könnten eventuell bereits z.B. mit der Aegis belegt sein.
  • Leider rammt der Träger bei voller Fahrt einige der eigenen Jäger. Dafür sollte man vielleicht noch eine Lösung finden. Mal schauen ...
Eine Idee habe ich noch, eigentlich sind es zwei Ideen. ;)
  • Verändern der Jägermengenangabe für den Start und für die Landung. Beispiele:
    20 - 20 Jäger aller Klassen starten (wie gehabt)
    3015 - 15 M3 Jäger starten
    4100 - 100 M4 Jäger starten
    5020 - 20 M5 Jäger starten
  • Abholung an der Werft. Nach dem Kauf von Jägern an der Werft könnte der Träger mit anvisierter Werft die gerade gekauften Schiffe zu sich holen und installieren.
Ansonsten hat diese Erweiterung wirklich Spaß gemacht. Kann man wirklich gebrauchen. :)

Gruß
Lucike
Image
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »

  • Es kommt vor, dass nicht alle angegebenen Schiffe starten. Ich würde den Befehl "get ship array from sector/ship/station" verwenden.

    ---> Werde ich mir angucken. Weisst du per Zufall, *warum* der verwendete Befehl in bestimmten Situationen nicht alle Schiffe liefert? Bug?
  • Die Kommandoanzeige sollte angeglichen werden. Wenn z.B. die Jäger den Träger beschützen sollen, sollte auch "Beschütze ... Träger" dort stehen. Genau so wenn sie ein Ziel angreifen sollen, z.B. "Attackiere ... Ziel".

    ---> Ich bin sehr sorry, aber das ist vermutlich Egosofts Bier. Die Jäger verwenden nach dem Start kein von mir programmiertes Kommando/Script. Sie führen ein Standart-Script aus der Befehlsliste aus und was sie tun liegt nicht mehr in meiner Kontrolle.
  • Die Raketenversorgung würde ich entfernen und für die kommende Erweiterung "THOR" aufheben, da dieses ja ein Jägerschnellstart sein soll. Das Kampfkommando "attackiere" sollte aber bleiben und die Kampfsoftware MK1 (Träger und Jäger) zur Bedingung gehören.

    ---> Kann man machen. Der Grund dafür war jedoch, dass es sich um eine tatsächliche komplette 'handbetriebene' Jägerverwaltung handeln sollte...und welcher Träger schickt seine Jäger ohne Payload raus?
  • Vielleicht sollte man doch die normalen Befehle belegen und nicht die zusätzlichen Kommandoslots. Die könnten eventuell bereits z.B. mit der Aegis belegt sein.

    ---> Bis jetzt gibt es genau einen persistent Sekundär-Befehl für Schiffe und das ist AEGIS. TelCat belegt den zweiten...und das auch nur kurzzeitig. How ever, wenn man ihn auf den Primärbefehl legt - ich kann's mit einem kleinen Kniff versuchen, damit der Befehl nicht die Steuerung blockiert, habe allerdings jetzt keine Ahnung, ob das funzt.
    Hat ticaki nicht mal irgendwo einen solchen Trick verwendet, indem er als ausführendes Obkjekt das Script selber definierte?
  • Leider rammt der Träger bei voller Fahrt einige der eigenen Jäger. Dafür sollte man vielleicht noch eine Lösung finden. Mal schauen ...Eine Idee habe ich noch, eigentlich sind es zwei Ideen. ;)

    ---> Wie ich das Rammen allerdings verhindern soll...kaum ein Plan. Ich kann die Jäger nicht wirklich genau positionieren - ich weiss nicht mal, wie ich einen Vektor berechnen sollte, rein aufgrund der XYZ des Trägers. So weit ich sehe, ist da keine Funktion, um die Ausrichtungs-Winkel abzurufen. Ich kann noch nicht mal die Distanz zum Träger selber bestimmen, da ich lediglich die engineinterne Fehlerkorrektur ausnutze.
  • Verändern der Jägermengenangabe für den Start und für die Landung. Beispiele:
    20 - 20 Jäger aller Klassen starten (wie gehabt)
    3015 - 15 M3 Jäger starten
    4100 - 100 M4 Jäger starten
    5020 - 20 M5 Jäger starten

    ---> Na DIE Idee ist gut :) werd ich so machen!
  • Abholung an der Werft. Nach dem Kauf von Jägern an der Werft könnte der Träger mit anvisierter Werft die gerade gekauften Schiffe zu sich holen und installieren.

    ---> Kann ich versuchen. Obwohl ich den Nutzen nicht 100% sehe. Man kann sie auch per Stationsrundruf in den Träger beordern und DANN installieren. Die beiden anderen Befehle haben den Grund, exzessive Handarbeit zu vermeiden. Beschädigte Schiffe aussortieren und einzeln docken, oder in 100+ Jägern einen Transporter installieren...
    Hast du viele Schiffe mit gemischter Funktion in den Werften? Vielleicht liegt es nur an meiner persöhnlichen Spielweise, dass ich da keine Probleme habe.
Ansonsten hat diese Erweiterung wirklich Spaß gemacht. Kann man wirklich gebrauchen. :)

---> Danke, freut mich :)
Have fun: Gala Do.
User avatar
Lucike
Posts: 12969
Joined: Sun, 9. May 04, 21:26
x4

Post by Lucike »

  • Es kommt vor, dass nicht alle angegebenen Schiffe starten. Ich würde den Befehl "get ship array from sector/ship/station" verwenden.

    ---> Werde ich mir angucken. Weisst du per Zufall, *warum* der verwendete Befehl in bestimmten Situationen nicht alle Schiffe liefert? Bug?

    ---> Weiß ich auch nicht. Ich habe da lange getüftelt.
  • Die Kommandoanzeige sollte angeglichen werden. Wenn z.B. die Jäger den Träger beschützen sollen, sollte auch "Beschütze ... Träger" dort stehen. Genau so wenn sie ein Ziel angreifen sollen, z.B. "Attackiere ... Ziel".

    ---> Ich bin sehr sorry, aber das ist vermutlich Egosofts Bier. Die Jäger verwenden nach dem Start kein von mir programmiertes Kommando/Script. Sie führen ein Standart-Script aus der Befehlsliste aus und was sie tun liegt nicht mehr in meiner Kontrolle.

    ---> Hehe, jaja ;)

    [THIS] -> set command: [...] target=[...] target2=null par1=null par2=null
    [THIS] -> set destination to [...]
  • Die Raketenversorgung würde ich entfernen und für die kommende Erweiterung "THOR" aufheben, da dieses ja ein Jägerschnellstart sein soll. Das Kampfkommando "attackiere" sollte aber bleiben und die Kampfsoftware MK1 (Träger und Jäger) zur Bedingung gehören.

    ---> Kann man machen. Der Grund dafür war jedoch, dass es sich um eine tatsächliche komplette 'handbetriebene' Jägerverwaltung handeln sollte...und welcher Träger schickt seine Jäger ohne Payload raus?

    Komplett? Na, da fehlt aber noch etwas. Ein kleiner Jägerverband kämpf noch, während die Jägerhauptverband zurückkehrt. Ich würde vorschlagen erst mal beim Katapultstart zu bleiben und die eigentlichen Kampfhandlungen in "THOR" einzubauen.
  • Vielleicht sollte man doch die normalen Befehle belegen und nicht die zusätzlichen Kommandoslots. Die könnten eventuell bereits z.B. mit der Aegis belegt sein.

    ---> Bis jetzt gibt es genau einen persistent Sekundär-Befehl für Schiffe und das ist AEGIS. TelCat belegt den zweiten...und das auch nur kurzzeitig. How ever, wenn man ihn auf den Primärbefehl legt - ich kann's mit einem kleinen Kniff versuchen, damit der Befehl nicht die Steuerung blockiert, habe allerdings jetzt keine Ahnung, ob das funzt.
    Hat ticaki nicht mal irgendwo einen solchen Trick verwendet, indem er als ausführendes Obkjekt das Script selber definierte?

    ---> Ich denke an die Zukunft. ;)
  • Leider rammt der Träger bei voller Fahrt einige der eigenen Jäger. Dafür sollte man vielleicht noch eine Lösung finden. Mal schauen ...Eine Idee habe ich noch, eigentlich sind es zwei Ideen. ;)

    ---> Wie ich das Rammen allerdings verhindern soll...kaum ein Plan. Ich kann die Jäger nicht wirklich genau positionieren - ich weiss nicht mal, wie ich einen Vektor berechnen sollte, rein aufgrund der XYZ des Trägers. So weit ich sehe, ist da keine Funktion, um die Ausrichtungs-Winkel abzurufen. Ich kann noch nicht mal die Distanz zum Träger selber bestimmen, da ich lediglich die engineinterne Fehlerkorrektur ausnutze.

    ---> Ich weiß. Ein Flugzeugträger dreht auch in den Wind, damit Flugzeuge besser starten können. Stehenbleiben ist aber tödlich. Vielleicht gibt es ja hier ein paar Matheasse, die mit den Möglichkeiten im SE zu recht kommen. ;)
  • Abholung an der Werft. Nach dem Kauf von Jägern an der Werft könnte der Träger mit anvisierter Werft die gerade gekauften Schiffe zu sich holen und installieren.

    ---> Kann ich versuchen. Obwohl ich den Nutzen nicht 100% sehe. Man kann sie auch per Stationsrundruf in den Träger beordern und DANN installieren. Die beiden anderen Befehle haben den Grund, exzessive Handarbeit zu vermeiden. Beschädigte Schiffe aussortieren und einzeln docken, oder in 100+ Jägern einen Transporter installieren...

    ---> Stationsrundruf? Hm ... das Problem hat sich von selbst gelöst. :D
Gruß
Lucike
Image
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »

@ Lucike

* Hab ne ganz einfach Berechnung für einen Vektor herausgefunden. Müsste aber noch wissen: die Jäger kollidierten NUR DANN mit dem Träger, wenn sich dieser bewegte?
Dann kann ich am Anfang einfach einen 'Click' einbauen. Im Abstand von .5 Sekunden wird je ein Koordinatensatz fotografiert...und bingo, haben wir einen Vektor zwischen den beiden Sätzen.
Traurigerweise funzt das natürlich nur, wenn sich die Kiste bewegt. Wenn es also auch bei stehendem Träger zu Kollisionen gekommen ist, dann müsste ich mich nur mit den Grundrechenarten mit diesem mistigen 2-Byte-Radialsystem herumschlagen, um einen Vektor hinzuzaubern.

* Dass ich den "get ship array from blasdumir" verwenden muss ist ehrlich gesagt K.Ä.S.E! Der hat alle die Kriterein nicht, was die ganze Sache ziemlich aufbläst - ich muss das Array dann selber sortieren. Homebase, Spielerschiffe, Schiffsklasse...
Weiss hier jemand mehr, warum dieser Befehl scheinbar nicht funzt und unter welchen Bedingungen dies vorkommt?

* Wegen [THIS]->setblabla:
Kann ich schon machen. Aber die Schiffe sind nach dem Start nicht mehr unter Kontrolle des TelCat Scriptes! Wenn der Befehl diese Sachen nicht setzt, dann greift der Jäger ewig Blabla an, auch wenn sie schon lange wieder den Träger beschützt.

* Stehenbleiben ist tödlich, sagst du...aber genau das würde der Träger tun, wenn TelCat auf dem Primärbefehl ausgeführt wird.
Have fun: Gala Do.
User avatar
Charlie1000
Posts: 392
Joined: Sun, 31. Oct 04, 18:38
x3tc

Alpha,Beta,Gamma

Post by Charlie1000 »

Hi, ich habe mal in dem SE rumgstöbert, und da sind mir unter GeneralObjekts ein paar Kommandos mit "rot"
aufgefallen.


6.081 set rotation of sector object <Var/Number>: x=<Var/Number> y=<Var/Number> z=<Var/Number>
...description: Verändert die Rotation eines sector object um die Achsen x, y und z

6.087 <RetVar> = <RefObj> get rot alpha
...description: gibt die Rotation um die Achse Alpha zurück
6.088 <RetVar> = <RefObj> get rot beta
...description: gibt die Rotation um die Achse Beta zurück
6.089 <RetVar> = <RefObj> get rot gamma
Auszu von:
http://www.egosoft.com/x2/forum/viewtop ... sc&start=0


...description: gibt die Rotation um die Achse Gamma zurück Kann man diese Kommandos für das Problem der LageKontrolle des Trägers benutzen, denn "rot" bedeutet bestimmt Rotation.
wenn nicht dann unten weiter...

Die Bezeichnungen Alpha,Beta,Gamma, wurden wenn ich mich richtig erinnere (for long,long time..) für Winkelangaben genutzt.
Alpha = Drehung um Z-Objektachse?
Beta=Neigung um X-Objektachse?
Gamma=Rollen um Y-Objektachse(wobei diese nicht berücksichtig werden müsste)?
Diese Winkel lassen sich ja berechnen, wenn man deine Idee mit Click 1 und Click2, für die Trägerkoordinaten und Vektor Bestimmung nutzt.
Nur die Trägerkoordinaten beziehen sich ja wieder auf die Weltkoordinaten im Spiel.(Ekliptic).
Nun wird kompliziert, und ich bin noch am wuseln, um eine einfache Lösung dafür zufinden.

Ich krame mir gerade wieder mein Millimeterpapier ****GGG***und Tafelwerk raus...
Vektorberechnung eines sich bewegenden Objektes im 3D-Raum.... :evil:

weiter...

Deswegen hier eine nicht gerade elegante, aber vieleicht einfache Lösung.
Ein Click machen, nach einer x-Zeit werden die Jäger dann auf diese Koordinaten teleportiert (Trägerbewegt sich),
und/oder Träger steht, hast aber vorher in einem bestimmten Intervall immer 1 oder 2 Click`s gemacht,welche von der jetzigen Position abweicht.
Damit hast du immer einen "Dynamischen Teleportationpunkt".

Gruß Charlie
Bin ich so wie ich war oder werde ich sein wie ich bin ?
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »

@ Charlie1000
Das sind die Funktionen, die ich im letzten Beitrag als "mistiges Radialsystem" beschrieben habe. Ein Zweibyte-System (360° geht von 0 bis 65535 im Gegenuhrzeigersinn)

Wegen der Vektorberechnung brauchst du nicht gross zu suchen, die ist:
P3 = P1 + (((P1 - P2) / 100) * -1) * %

P3 definiert dann einen Punkt auf der Geraden durch P1 und P2.
% Definiert Prozente der Wegstrecke P1 -> P2.

Null Prozent ist P1, 100% ist P2, <0% liegt hinter P1, >100% lieft jenseits P2. Simple Sache.

Aber wenn du vielleicht gerade eine Formel parat hast, mit der ich aus einem Winkel und einem Koordinatensatz einen Vektor produzieren kann...nur her damit. Nur 2D - Also:

Rot.Z = 46°
X.here = 508m
Y.here = 1245m

Gesucht ist ein Punkt auf der Ebene X:Y, welcher auf einer Geraden liegt, die im Winkel Rot.Z aus der Koordinate X.here:Y.here entspringt. Der Abstand zu X.here:Y.here hat 100 Meter zu betragen.
Have fun: Gala Do.
User avatar
Charlie1000
Posts: 392
Joined: Sun, 31. Oct 04, 18:38
x3tc

Post by Charlie1000 »

Hi Ghalador, mit einem schönen Gruß von olle Pythagoras............

Grundformel : sin alpha/a = sin beta/b = sin gamma/c

siehe auch Bild:
a = 100 m
alpha, hier immer 90° und damit sinus = 1
gamma = 46° (Innenwinkel)
beta =und damit 44°


umgestellt nach b für neue X Koordinate

b = sin beta / sin alpha x a
P2x =P1x +b Ergebnis (gerundet 577)


umgestellt nach c für neue Y Koordinate

c =sin gamma/sin alpha x a

P2y = P1y + c Ergebnis (gerundet 1316)


Rein rechnerisch klappt es damit, wie und ob man es für die Engine umsetzen kann ,.......keine Ahnung...

http://home.arcor.de/gerald.grau/Ansicht.jpg
In einen Link verändert. Lucike


Gruß Charlie
Bin ich so wie ich war oder werde ich sein wie ich bin ?
Ghalador
Posts: 3929
Joined: Sat, 9. Nov 02, 19:33
x4

Post by Ghalador »

Danke Charlie :)
Aber es bleibt noch immer mein altes Problem: wie berechne ich sin(x) ohne sin(x)-Funktion.

Ich habe eine Annäherungs-Formel, indem man annimmt, dass das Verhältnis gamma zu beta dem Verhältnis c zu b entspricht. Eigentlich genau genug für meine Zwecke, ABER ...wie rechnet man die Wuzel aus den Kathetenquadraten, ohne Wurzelfunktion.

Ich weiss, da ist sicher mindestens ein .lib draussen für Wurzeln und notfalls könnte ich das selber auch noch. Aber der Rechenaufwand des Scriptes steigt und steigt...

Es MUSS eine simple Möglichkeit geben!
Have fun: Gala Do.
sdack
Posts: 1071
Joined: Wed, 26. Jan 05, 22:24
x3

Post by sdack »

@Ghalador: Gar nicht ;-)

Aber um mal deine Frage zu beantworten, so gibt es nur zwei Ansätze, die mir da einfallen: Eine Taylor Reihe über das Horner Schema berechnen oder eine Lookup Tabelle.

Ich würde dir eine Tabelle empfehlen. Brauchst ein Array mit vielleicht 90 Werten, die die Werte von sin(x) im Bereich von 0 bis pi/2 abbilden. Die restlichen Werte bildest du durch Modulo nehmen, invertieren und spiegeln.

Aber auch in der Mathematik gilt: Weniger ist mehr. Also du würdest schon mit einer Tabelle von nur 4 Werten (für 0 bis 2*pi) eine umgekehrte Richtung zur aktuellen Position finden können. Also wenn du z.B. weisst, dass die Nase des Schiffes entlang der X-Achse zwischen -45° und +45° liegt, musst du einen Wert entlang der X-Achse wählen, der hinter der aktuellen Position liegt (xbeam=xträger-abstand). Ist der Winkel irgendwo zwischen +45° und +135°, dann zeigt sie eventuell in Y- oder Z-Richtung (genaueres steht im MSCI Handbook). Kannst es vielleicht auch mit 12 if()'s hinkriegen ...

Sven
---------------------------
---------------------------

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