[WIP!!!] X3 Scripting-Tutorial

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

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

Post by UniTrader »

sei froh, dass es solche nebensächlichkeiten sind die ich hervorgehoben habe, denn im umkehrschluss bedeutet das dass der hauptsächliche Teil korrekt und (für mich*) verständlich ist ;)


*für andere kann ich dir nicht sagen, weil dafür fällt mir das verstehen von solchen Dingen viel zu einfach..



Zu dem Thema Menüs: für mich hat sich das beim überfliegen so gelesen, als ob du sagen willst dass es nicht geht, aber jetzt wo ich es nochmal gelesen hab passt es doch so wie es ist ^^
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

wir kennen uns ja nun schon lange genug, dass wir uns gegenseitig einschätzen können :D

ich habe großen respekt vor dir und deiner meinung.

ich denke das tutorial wird schon halbwegs was werden :)

danke, dass du dir die zeit genommen hast es zu lesen - zumal du ja nicht so richtig viel davon hast, da für Dich kaum was neues drinstehen dürft ;)
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

mir ist noch ne kleinigkeit aufgefallen, als ich mich grad ein wenig durchs Forum geklickt hab ^^ (ja ich habe zu viel Zeit - und nein, ich kann nichts davon abgeben :D :P )
Reflexer wrote:Wenn ihr allerdings Zahlenwerte in vermeintlichen Text-Variablen habt, so wird es passieren, dass anstatt des Zusammenfügens zu einem längeren String eine Rechenoperation durchgeführt wird.
Aus diesem Grund solltet ihr bei Typunsicherheit die Variable vorher immer in einen String wandeln.
Der Code:

Code: Select all

$Var1 = 4
$Var2 = 6
$Text1 = $Var1 + $Var2
ergibt nicht wie gewünscht '46', sondern 10, da gerechnet wird.

Wollt ihr aus den beiden Variablen des Beispiels einen String zusammensetzen, so müsst ihr die Variablen vorher in einen String umwandeln.
Der Befehl hierzu lautet:

Code: Select all

<RetVar> = convert number <Var/Number> to string
Für unser Beispiel also:

Code: Select all

$Var1 = 4
$Var2 = 6
$Var1 = convert number $Var1 to string
$Var2 = convert number $Var2 to string
$Text1 = $Var1 + $Var2
Das Ergebnis wäre nun das gewünschte, nämlich '46'.
ich weiss, ich bin mal wieder besserwisserisch, aber das geht auch einfacher und kürzer:

Code: Select all

$Var1 = 4
$Var2 = 6
$Text1 = $Var1 + $Var2 + ' '
ergibt '64 ' - das Leerzeichen danach sollte in den meisten fällen nicht stören (bzw. ist in diesen fällen eh meist ein String vorhanden in den die Zahl rein soll) oder man erstellt sich dafür ne Variable » $Leerstring = get substring of string 'Leerstring' lenth=0 pos=0 «
hat außerdem den Vorteil. dass $Var1 und $Var2 Integer bleiben und man mit ihnen weiter rechnen könnte ;) (sehr praktisch zum Debuggen wenn man z.B. verschiedene Zahlenwerte als Untertitel einblenden will ^^ )

PS oder alternativ: ich hab auch schon Leerstrings im Sourcecode von Scripts untergebracht, aber na ja... ich bin in der Hinsicht speziell :D
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

UniTrader wrote:PS oder alternativ: ich hab auch schon Leerstrings im Sourcecode von Scripts untergebracht, aber na ja... ich bin in der Hinsicht speziell :D
Du has den Sourcecode Deiner eigenen Scripts gehackt? Ist das überhaupt legal?
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.
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

rofl
hexx_eddi
Posts: 61
Joined: Sat, 16. Feb 13, 19:45
x4

Post by hexx_eddi »

Vielen Dank für das tolle Tut. ich hoffe Du bist noch fleißig am erweitern ;)

Eine Einführung für Leute die noch nie ein Programm geschrieben haben ist vermutlich ein Fass ohne Boden. Da würde ich gleich auf die Grundlagen einer ähnlichen Sprache verweisen. Aber das machst du ja auch schon.
Als Neuling mit etwas Programmiererfahrung ist natürlich immer die Syntax bzw. die Struktur der Befehle interessant. Also Funktionen, Schleifen oder auch Typenumwandlung und Wertzuweisung.

Folgender Code sieht für mich nach einem Fehler aus ;)

Code: Select all

inc $tmpSectorY =
Auch das es anscheinend kein Schlüsselwort "function" gibt sondern einfach der Name da steht (aha, mir sind gerade die Doppelpunkte aufgefallen) verwirrt mich.

Vielleicht kannst du auch wichtige Punkte bzw. Fallstricke hervorheben und falschen Code z.B. in rot darstellen.
$myArray1[0][0] = $myArray2[1][2]
Sonst sagt noch jemand: Das steht da das muss funktionieren ;)

Vielen Dank mochmal also ich kanns brauchen.
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

Ich arbeite noch weiter dran. Ich war mir nur nicht sicher, ob es überhaupt jemand nutzt.
Folgender Code sieht für mich nach einem Fehler aus
Iss aber keiner. Das Erhöhen eines Integers funktioniert hier so ;)

Das mit dem Einfärben geht leider nicht, wenn man es als "Code" markiert, denn der ist immer grün.
Das Dokument ist ein Dokument und sollte auch als solches behandelt werden! Wer es nicht liest, sondern nur überfliegt braucht sich nicht zu wundern, wenn er Dinge nicht oder falsch versteht. Es steht ja dabei, dass es so nicht funktioniert. Ich mache mir die Mühe es hinzuschreiben, also kann ich auch erwarten, dass der Nutzer sich die Mühe macht es zu lesen.

Über die gewünschten Erweiterungen bzw. weitere Ausführungen zu Dingen, die eigentlich selbsterklärend sein sollten, mache ich mir Gedanken.

Gruß
Reflexer
Last edited by Reflexer on Sun, 17. Feb 13, 03:12, edited 3 times in total.
Ghostrider[FVP]
Posts: 3262
Joined: Wed, 6. Nov 02, 20:31
x3ap

Post by Ghostrider[FVP] »

Reflexer wrote:Ich arbeite noch weiter dran. Ich war mir nur nicht sicher, ob es überhaupt jemand nutzt.
Also ich schon und ich denke auch andere User hoffentlich und da es bei mir gepimmt ist freute ich mich schon zu sehen das sich hier was tut .. :o :D :roll:

Also ich bin weiterhin gespannt!
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X3-The Sonen
Image
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods
hexx_eddi
Posts: 61
Joined: Sat, 16. Feb 13, 19:45
x4

Post by hexx_eddi »

Das freut mich zu hören und es werden sicher viele nutzen, es ist ja auch schon in der Übersicht-Tutorials gelistet ist.

Stimmt, den Code rot zu machen war nicht leicht, aber zumindest für Einzeiler gehts ganz gut mit Quote.
Über die gewünschten Erweiterungen bzw. weitere Ausführungen zu Dingen, die eigentlich selbsterklärend sein sollten, mache ich mir Gedanken.
Hier meine ich auch eher weniger die Grundlagen sonder die spezifischen Elemente der Spreche. Ich muss z.B. nicht wissen was eine for-Schleife sondern wie sie hier verwendet wird (falls es sie überhaupt gibt)

Hier (http://www.peterkropff.de/site/php/schleifen.htm) ist einfach mal eine random Seite die als Beispiel dient (Glückwunsch Hr. Kropff ;))
Zum einen sieht man hier was ich meine; eine Übersicht aller Schleifen mit kurzem Implementierungsbeispiel und zum anderen was man alles machen müsste wollte man eine Sprache ausführlich beschreiben (meistens werden ganze Bücher damit gefüllt) daher war mein Anliegen sich auf das wesentliche zu beschränken und ja, das kann für dich auch sowas selbsterklärendes sein wie inc <retVar> = (obwohl man das auch in der MSCI findet) ;)
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

hexx_eddi wrote:Hier (http://www.peterkropff.de/site/php/schleifen.htm) ist einfach mal eine random Seite die als Beispiel dient (Glückwunsch Hr. Kropff ;))
Zum einen sieht man hier was ich meine; eine Übersicht aller Schleifen mit kurzem Implementierungsbeispiel und zum anderen was man alles machen müsste wollte man eine Sprache ausführlich beschreiben (meistens werden ganze Bücher damit gefüllt) daher war mein Anliegen sich auf das wesentliche zu beschränken und ja, das kann für dich auch sowas selbsterklärendes sein wie inc <retVar> = (obwohl man das auch in der MSCI findet) ;)
Das werde ich mit Sicherheit in dieser Form nicht einbauen. Wer überhaupt keine Ahnung von Programmierung hat, der sollte sich erstmal Grundlagen aneignen, dies jedoch nicht über dieses Tutorial.

Grundlegende Verwendung von gängigen Programmierwerkzeugen wie Schleifen usw. werde ich ebenfalls nicht erläutern. Dies kann dem MSCI entnommen werden.

Zum Thema "das Wesentliche": Ich denke wenn man 5 Leute fragt, wird es 5 Antworten geben, was "das Wesentliche" ist. Je nach dem welche Vorkenntnisse vorhanden sind und welche Ziele mit der Scriptsprache erreicht werden wollen. Nur weil Du für Dich persönlich etwas als "Wesentlich" titulierst erhebt das keinerlei Anspruch auf Allgemeingültigkeit.
hexx_eddi
Posts: 61
Joined: Sat, 16. Feb 13, 19:45
x4

Post by hexx_eddi »

Sorry, wenn Du dich auf den Schlips getreten fühlst, ich wollte nur mit konstruktiver Kritik helfen. Ich hatte aber den Eindruck, dass ich mich nicht ganz verständlich ausgedrückt habe und versucht es nochmal zu konkretisieren. Also falls was unklar ist machen wir das einfach über PM ;)
User avatar
Homulus
Posts: 55
Joined: Sun, 16. Dec 07, 20:03
x3tc

Post by Homulus »

Vielen Dank für die bisher geleistete Arbeit Reflexer.

Es würde mich freuen wenn Du weiter an dem TUT arbeiten könntest.
Mann muß sich dann nicht die ganzen Informationen zusammen suchen sondern hat hier einen gebündelten Überblick. Leider sind aber noch sehr interessante Bereiche leer.
Ehemaliger Pilot einer CobraMK3.
Ghostrider[FVP]
Posts: 3262
Joined: Wed, 6. Nov 02, 20:31
x3ap

Post by Ghostrider[FVP] »

Homulus wrote:Vielen Dank für die bisher geleistete Arbeit Reflexer.

Es würde mich freuen wenn Du weiter an dem TUT arbeiten könntest.
Mann muß sich dann nicht die ganzen Informationen zusammen suchen sondern hat hier einen gebündelten Überblick. Leider sind aber noch sehr interessante Bereiche leer.

Hoffe ich auch, aber ich glaub immo hat Reflexer im RL viel zu tun.. warten wir es ab :)


Super Thema :thumb_up: :thumb_up: :thumb_up:
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X3-The Sonen
Image
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods

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