Mache Scripts für Newbys
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
-
- Posts: 137
- Joined: Sun, 20. Nov 05, 23:06
Mache Scripts für Newbys
bitte nicht zu schwere bin selbst ned der beste,
ich kann euch machen:
Warendazufügungsscripts,
Fabriken dazu fügen (Gratis),
Create Ship Scripts usw.
halt hauptsächlich dazufügen
ich kann euch machen:
Warendazufügungsscripts,
Fabriken dazu fügen (Gratis),
Create Ship Scripts usw.
halt hauptsächlich dazufügen
-
- Posts: 2027
- Joined: Sun, 6. Apr 03, 18:57
Das ist schön, es gibt aber schon genug Script, die nicht nur hinzufügen, sondern noch ne ganze Stange mehr können. Ein Beispiel ist das Scriptpaket auf meiner Homepage.
Kannst sie dir ja mal ansehen und davon noch was lernen. Ansonsten wird das schwere Scripten von den etwas professionelleren Leuten übernommen.

Kannst sie dir ja mal ansehen und davon noch was lernen. Ansonsten wird das schwere Scripten von den etwas professionelleren Leuten übernommen.

-
- Posts: 137
- Joined: Sun, 20. Nov 05, 23:06
-
- Posts: 630
- Joined: Mon, 6. Jun 05, 14:25
Ich verabscheue diesen "Scripteditor"...
Und seit neuestem auch die X²-Scriptsprache selbst.
Und also bin ich daran interessiert, eine Bestellung aufzugeben:
Eine Art kleinerer, einfacherer Bruder zu StarTrekMarcs Schlachtenscript, um die kurzen Scharmützel aus X-BtF wieder ins Spiel zu bringen.
Und seit neuestem auch die X²-Scriptsprache selbst.
Und also bin ich daran interessiert, eine Bestellung aufzugeben:
Code: Select all
1. Wähle beliebige Station Typ "Schiffswerft"/"Trockendock"
2. Erstelle 0-10 Schiffe M4/3 des besitzenden Volkes mit
Standartarmierung in zufälligem Verhältnis innerhalb der gewählten
Station
3. Wähle zufälligen Sektor eines feindlichen Volkes
4. Wähle zufälliges Sprungtor in gewähltem Sektor
5. Gib Befehl "Sprungantrieb benutzen" zu gewähltem Tor an erstellte
Schiffe
6. Nach Ankunft gib Befehl "Töte alle Feinde" an erstellte Schiffe
-
- Posts: 137
- Joined: Sun, 20. Nov 05, 23:06
-
- Posts: 630
- Joined: Mon, 6. Jun 05, 14:25
Jawoll.[...] ne art [...]
Keine ganze "Schlacht", einfach ein kleines Scharmützel zwischen einer Handvoll von Jägern.
Ich habe mich mit solchen Sachen wie Formationsflugverhalten noch nicht auseinandergesetzt, aber es wäre schön, wenn die angreifenden Schiffe einigermaßen zusammenbleiben würden.
Ich kann dir sogar die ungefähre Vorgehensweise diktieren, einzig die Konvertierung in X²-Code bleibt dir überlassen.
Erstelle eine Integer-Variable(i1), auf der du einen zufälligen Wert zwischen 0 und 1 speicherst und ein Array(fr), in denen die "freundlichen" Völker (außer den Gonern) eingetragen werden müssen.
Erstelle eine weitere Integer-Variable(i2), auf die ein zufälliger Wert zwischen 3 und 10 gespeichert wird und noch eine(i3), der du ein zufälligen Wert zwischen 0 und 100 zuweist.
Erstelle für jedes Volk ein Array(sp), das alle Schiffswerften und Trockendocks dessen enthält (für Xenon trage stattdessen Handelsstationen ein).
Erstelle ein Schiffsarray(fl), eine Schiffsvariable (ff) und eine Sektorvariable(ta), die du noch leer lässt.
Nun zum eigentlichen Programm:
Frage per if-Struktur ab, ob der Wert von i1 == 0 sei.
Sei dies der Fall, erstelle (int) ((double)i3)/100.0*((double)i2) M2- und
i2-((int) ((double)i3)/100.0*((double)i2)) M3-Schiffe des Volkes (zufälliger Index von fr) in der Station (zufälliger Index von sp).
Trage die erstellten Schiffe in fl ein, dann statte fl mit Standartausrüstung aus und wähle ein zufälliges M3-Schiff aus fl, das du allen anderen Schiffen in fl als Gruppenführer zuweist und auf ff speicherst.
Ermittle einen zufälligen Xenonsektor, den du auf ta speicherst und erteile ff den Befehl, sich nach ta zu begeben.
Sei es nicht der Fall, erstelle (int) ((double)i3)/100.0*((double)i2) M2- und
i2-((int) ((double)i3)/100.0*((double)i2)) M3-Schiffe der Xenon in der Station (zufälliger Index von sp).
Trage die erstellten Schiffe in fl ein, dann statte fl mit Standartausrüstung aus und wähle ein zufälliges M3-Schiff aus fl, das du allen anderen Schiffen in fl als Gruppenführer zuweist und auf ff speicherst.
Ermittle einen zufälligen Sektor des Volkes (zufälliger Index von fr), den du auf ta speicherst und erteile ff den Befehl, sich nach ta zu begeben.
EventListener(Element aus fl wird angegriffen)
=> erteile ff die Anweisung, den Angreifer zu bekämpfen.
EventListener(Angreifer zerstört)
=> erteile ff die Anweisung, sich nach ta zu begeben
EventListener(ta erreicht)
=> erteile ff die Anweisung, alle Feinde zu bekämpfen
EventListener(fl zerstört)
=> brich das Script ab und lösche Variablen
Es könnten einige Änderungen hinsichtlich der Gruppensteuerung vonnöten sein, da ich noch keinerlei Erfahrungen mit Flügelmannkontrolle gesammelt habe.
Auch habe ich mich (wie aus den Anweisungen ersichtlich) doch dafür entschieden, die Schiffe lieber konventionell zu ihrem Ziel fliegen zu lassen - das sorgt für etwas Atmosphäre.
-
- Posts: 137
- Joined: Sun, 20. Nov 05, 23:06
also ihr wollt da beide ne art Weltkrieg wie ich das sehe,
bei LordZsar soll ich ja alle Völker auf Feindlich stellen so das auch sie sich Feindlich gesinnt sind und nicht nur zu dir oder??
und bei dir steht dies ja ganz Klar Master
lol
solche sachen sind schwer und brauchen viel zeit.....
ist es gut wenn ich am Samstag anfange?
bei LordZsar soll ich ja alle Völker auf Feindlich stellen so das auch sie sich Feindlich gesinnt sind und nicht nur zu dir oder??
und bei dir steht dies ja ganz Klar Master
lol
solche sachen sind schwer und brauchen viel zeit.....
ist es gut wenn ich am Samstag anfange?
-
- Posts: 630
- Joined: Mon, 6. Jun 05, 14:25
!?
Entweder habe ich mich mangelhaft ausgedrückt, oder du hast mich fehlinterpretiert.
Ein Volk soll Schiffe in einen Xenonsektor, oder die Xenon Schiffe in einen Völkersektor schicken, das war es.
Das hier in Code umwandeln:
Entweder habe ich mich mangelhaft ausgedrückt, oder du hast mich fehlinterpretiert.
Ein Volk soll Schiffe in einen Xenonsektor, oder die Xenon Schiffe in einen Völkersektor schicken, das war es.
Das hier in Code umwandeln:
Die von dir benötigte Zeit ist relativ irrelevant.Erstelle eine Integer-Variable(i1), auf der du einen zufälligen Wert zwischen 0 und 1 speicherst und ein Array(fr), in denen die "freundlichen" Völker (außer den Gonern) eingetragen werden müssen.
Erstelle eine weitere Integer-Variable(i2), auf die ein zufälliger Wert zwischen 3 und 10 gespeichert wird und noch eine(i3), der du ein zufälligen Wert zwischen 0 und 100 zuweist.
Erstelle für jedes Volk ein Array(sp), das alle Schiffswerften und Trockendocks dessen enthält (für Xenon trage stattdessen Handelsstationen ein).
Erstelle ein Schiffsarray(fl), eine Schiffsvariable (ff) und eine Sektorvariable(ta), die du noch leer lässt.
Nun zum eigentlichen Programm:
Frage per if-Struktur ab, ob der Wert von i1 == 0 sei.
Sei dies der Fall, erstelle (int) ((double)i3)/100.0*((double)i2) M2- und
i2-((int) ((double)i3)/100.0*((double)i2)) M3-Schiffe des Volkes (zufälliger Index von fr) in der Station (zufälliger Index von sp).
Trage die erstellten Schiffe in fl ein, dann statte fl mit Standartausrüstung aus und wähle ein zufälliges M3-Schiff aus fl, das du allen anderen Schiffen in fl als Gruppenführer zuweist und auf ff speicherst.
Ermittle einen zufälligen Xenonsektor, den du auf ta speicherst und erteile ff den Befehl, sich nach ta zu begeben.
Sei es nicht der Fall, erstelle (int) ((double)i3)/100.0*((double)i2) M2- und
i2-((int) ((double)i3)/100.0*((double)i2)) M3-Schiffe der Xenon in der Station (zufälliger Index von sp).
Trage die erstellten Schiffe in fl ein, dann statte fl mit Standartausrüstung aus und wähle ein zufälliges M3-Schiff aus fl, das du allen anderen Schiffen in fl als Gruppenführer zuweist und auf ff speicherst.
Ermittle einen zufälligen Sektor des Volkes (zufälliger Index von fr), den du auf ta speicherst und erteile ff den Befehl, sich nach ta zu begeben.
EventListener(Element aus fl wird angegriffen)
=> erteile ff die Anweisung, den Angreifer zu bekämpfen.
EventListener(Angreifer zerstört)
=> erteile ff die Anweisung, sich nach ta zu begeben
EventListener(ta erreicht)
=> erteile ff die Anweisung, alle Feinde zu bekämpfen
EventListener(fl zerstört)
=> brich das Script ab und lösche Variablen
-
- Posts: 1546
- Joined: Wed, 6. Nov 02, 20:31
@ Lord Zsar1:
Hast Du schon mal ein Script gemacht?
Ich glaube nein, weil mit diesen Info´s/Vorschlägen kann man nämlich nichts als normaler Scripter anfangen in X2. X2-Scripte werden... etwas viel anders programmiert.
Weil das ginge (in Kurzform, alles mit nur einem Befehl je Zeile) so:
1. Erstelle Kommandoschiff, setze alle Eigenschaften wie gewünscht.
2. Erstelle in einer Schleife (zufällig) Schiffe, welche dem Kommandoschiff unterstehen.
3. Wähle Sektor (zufällig)
4. Gebe Kommandoschiff befehl für Invasion
Fertig.
Für dieses Script brauche ich kein Array, und Funktionen wie double, integer und Co gibts hier nicht.
Beim Scripten gil es nur, die fertigen Befehlssätze in der richtigen Reihenfolge mit den passenden Argumenten aneinanderzureihen.
Und hier kommt das komplizierte am Scripten:
Es gibt keine Beschreibung welcher Befehl zuerst geschrieben werden muß (und was er eigentlich genau macht), weil das ist nämlicht alles andere als unwichtig. Schreibt man verkehrt, gehts nicht.
mfg Painkiller
Hast Du schon mal ein Script gemacht?
Ich glaube nein, weil mit diesen Info´s/Vorschlägen kann man nämlich nichts als normaler Scripter anfangen in X2. X2-Scripte werden... etwas viel anders programmiert.
Weil das ginge (in Kurzform, alles mit nur einem Befehl je Zeile) so:
1. Erstelle Kommandoschiff, setze alle Eigenschaften wie gewünscht.
2. Erstelle in einer Schleife (zufällig) Schiffe, welche dem Kommandoschiff unterstehen.
3. Wähle Sektor (zufällig)
4. Gebe Kommandoschiff befehl für Invasion
Fertig.
Für dieses Script brauche ich kein Array, und Funktionen wie double, integer und Co gibts hier nicht.
Beim Scripten gil es nur, die fertigen Befehlssätze in der richtigen Reihenfolge mit den passenden Argumenten aneinanderzureihen.
Und hier kommt das komplizierte am Scripten:
Es gibt keine Beschreibung welcher Befehl zuerst geschrieben werden muß (und was er eigentlich genau macht), weil das ist nämlicht alles andere als unwichtig. Schreibt man verkehrt, gehts nicht.
mfg Painkiller
-
- Posts: 630
- Joined: Mon, 6. Jun 05, 14:25
!? !?
@Painkiller:
Ja, ich habe schon mal ein Script gemacht - genau eines.
Aber... Integer ist keine "Funktion". Um Gottes Willen!
Das ist eine Variable, auf die eine beliebige Nichtkommazahl von...
Uh... Ich bin mir nicht sicher, aber ich glaube es war -(2 hoch 24) bis +(2 hoch 24)...
Oder ich irre mich ein wenig und Long hatte die Länge von +(2 hoch 24)...
Oder aber ich irre mich vollkommen und es war irgendein anderer Exponent.
Jedenfalls ist jede Zahl, die irgendwo irgendwann irgendwie in einem beliebigen Script auftaucht, entweder Integer, Double, Short, Long oder Byte... Oder etwas anderes, dass mir ebenfalls entfallen ist.
Und wie willst du ohne Array beispielsweise die zufällige Auswahl aus den Völkern realisieren?
Oder die der Startstation?
@Painkiller:
Ja, ich habe schon mal ein Script gemacht - genau eines.
Aber... Integer ist keine "Funktion". Um Gottes Willen!
Das ist eine Variable, auf die eine beliebige Nichtkommazahl von...
Uh... Ich bin mir nicht sicher, aber ich glaube es war -(2 hoch 24) bis +(2 hoch 24)...
Oder ich irre mich ein wenig und Long hatte die Länge von +(2 hoch 24)...
Oder aber ich irre mich vollkommen und es war irgendein anderer Exponent.
Jedenfalls ist jede Zahl, die irgendwo irgendwann irgendwie in einem beliebigen Script auftaucht, entweder Integer, Double, Short, Long oder Byte... Oder etwas anderes, dass mir ebenfalls entfallen ist.
Und wie willst du ohne Array beispielsweise die zufällige Auswahl aus den Völkern realisieren?
Oder die der Startstation?
-
- Posts: 44
- Joined: Tue, 20. Sep 05, 17:26
-
- Posts: 576
- Joined: Thu, 29. Sep 05, 17:17
Klick Mich Hier findest du eine kleine Anleitung.Kinimod wrote:Hi mal ne Frage,kannst du mir nen Script machen mit dem ich die Werte eines beliebigen Schiffes verändern kann?
Also das ich anstatt nur 200 500 oder so fliege?
Wäre toll wenn du mir das machen könntest wenn nicht wäre es auchnett so schlimm
-
- Posts: 1546
- Joined: Wed, 6. Nov 02, 20:31
@ LordZsar1:
Da ich selber mal richtig programmiert habe, weiß ich eh was ne Intergerzahl ist
Ich hab hier nur die Kurzform verwendet...
Ok, wie ich das mache:
Völker: (kein X2-Code jetzt das ist:)
Zahl= Random 1-5
If Zahl=1 then Race=Argon
usw.
Dann schnappen wir uns nen Sektor (dafür gibts in X2 ne fertige Funktion: Find random sector usw. mit Argumenten)
Aus diesem hol ich mir per Zufall ne Station... fertig.
X2 hat den Vorteil daß es für viele Wünsche bereits fertige Funktionen gibt, die man eben nicht mehr zu proggen braucht.
Man muß sie nur finden...
Da ich selber mal richtig programmiert habe, weiß ich eh was ne Intergerzahl ist

Ich hab hier nur die Kurzform verwendet...
Ok, wie ich das mache:
Völker: (kein X2-Code jetzt das ist:)
Zahl= Random 1-5
If Zahl=1 then Race=Argon
usw.
Dann schnappen wir uns nen Sektor (dafür gibts in X2 ne fertige Funktion: Find random sector usw. mit Argumenten)
Aus diesem hol ich mir per Zufall ne Station... fertig.
X2 hat den Vorteil daß es für viele Wünsche bereits fertige Funktionen gibt, die man eben nicht mehr zu proggen braucht.
Man muß sie nur finden...
-
- Posts: 137
- Joined: Sun, 20. Nov 05, 23:06
Kinimod wrote:Hi mal ne Frage,kannst du mir nen Script machen mit dem ich die Werte eines beliebigen Schiffes verändern kann?
Also das ich anstatt nur 200 500 oder so fliege?
Wäre toll wenn du mir das machen könntest wenn nicht wäre es auchnett so schlimm
ok einfach so
in den Script Editor,
dann New Script, New Line
Trade Commands, Add Ware irgendwas
dann Playership,No returnvalue
dann number (soviel du willst angeben)
dann Select Ware und dort Triebwerkstuning.
ps:
wenn du übertreibst geht esa nicht mehr
wenn du zb. add ware + 10000 Triebwerkstuning eingiebst gibt es in den meisten fällen einen Absturz,
du kannst aber nach belieben so viel du willst l Add Ware + 10/20/30
oder so angeben und aktivieren.
Greetz
-
- Posts: 44
- Joined: Tue, 20. Sep 05, 17:26
Danke,werde ich gliech mal ausprobieren.
Und wie kann man die Schild- und Waffen buchten und max.Schild/Waffen verändern und natürlich den Laderaum
Das soll ja auch irgendwie gehen,aber keine sorge will mir kein Ultimatives Schiff machen
Wäre toll wenn du mir das auch erklären könntest oder mir nen Link zur ner erklärung gibts.
thx im vorraus
mfg
Kinimod
Und wie kann man die Schild- und Waffen buchten und max.Schild/Waffen verändern und natürlich den Laderaum
Das soll ja auch irgendwie gehen,aber keine sorge will mir kein Ultimatives Schiff machen

Wäre toll wenn du mir das auch erklären könntest oder mir nen Link zur ner erklärung gibts.
thx im vorraus
mfg
Kinimod
-
- Posts: 137
- Joined: Sun, 20. Nov 05, 23:06
-
- Posts: 420
- Joined: Fri, 8. Apr 05, 16:55
-
- Posts: 137
- Joined: Sun, 20. Nov 05, 23:06
Script Editor öffnen
Script suchen Namens : galaxy.Example.initplayership
Enter drücken
dann bei zeile 004 schauen und enter drücken
dann $plship wählen
wieder Enter drücken
dann select Ship (dann dein gewünschter Schiff Typ)
dann wieder Enter
dann auf Owner drücken
dann wieder Enter
dann select Sector (dann gewünschten Sector auswählen)
dann wieder Enter
dann 0
dann enter
dann 0
dann enter
dann 0
und dann Escape drücken
Save Script Ja
script wieder raussuchen r drücken und Sektor auswählen wo dein schiff ist
dann dein Schiff und dann haben wir das schon.
Script suchen Namens : galaxy.Example.initplayership
Enter drücken
dann bei zeile 004 schauen und enter drücken
dann $plship wählen
wieder Enter drücken
dann select Ship (dann dein gewünschter Schiff Typ)
dann wieder Enter
dann auf Owner drücken
dann wieder Enter
dann select Sector (dann gewünschten Sector auswählen)
dann wieder Enter
dann 0
dann enter
dann 0
dann enter
dann 0
und dann Escape drücken
Save Script Ja
script wieder raussuchen r drücken und Sektor auswählen wo dein schiff ist
dann dein Schiff und dann haben wir das schon.
-
- Posts: 420
- Joined: Fri, 8. Apr 05, 16:55