[DISKUSSION] Allgemeine S&M-Fragen III
Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators
- Slayer X3-Fan
- Posts: 63
- Joined: Sun, 24. Aug 08, 16:47
Hallo,
Da ich selber jetzt nur ungern den ganzen Moddingbereich durchsuchen will, frage ich einfach mal.
Gibt es (für TC) eine Art Modding/Scripter Crashkurs, bei dem man so gänige Allgemeinsachen kennen lernen kann und man ebenso einen einfachen "Einstieg" ins selbstständige Scripten/Modden bekommt?
Zurzeit finde ich mich selber mit den ganzen Codes und Kommandos usw... gar nicht wirklich zu recht.
Danke im Vorraus
Da ich selber jetzt nur ungern den ganzen Moddingbereich durchsuchen will, frage ich einfach mal.
Gibt es (für TC) eine Art Modding/Scripter Crashkurs, bei dem man so gänige Allgemeinsachen kennen lernen kann und man ebenso einen einfachen "Einstieg" ins selbstständige Scripten/Modden bekommt?
Zurzeit finde ich mich selber mit den ganzen Codes und Kommandos usw... gar nicht wirklich zu recht.
Danke im Vorraus
Hiho Leute
mal wieder ne kleine Frage:
OOS und Raketen!... "uff" denken einige wieder "geht nicht, weil oos keine Raketen genutzt werden..."
Ja, aber:
Ich hab gelesen, das OOS die Raketen "simuliert" werden.?!
Was kann man darunter verstehen?
Wenn ich nen Schiff als Bomber scripte, ihm keinerlei Laser verpasse und die Raketenabschussbefehle per script quasi "erzwinge", kann er dann OOS etwas vernichten?
Stimmen die Entfernungsangaben der Raketen (Flugweite) OOS auch noch oder muss der Bomber nen bestimmten Mindestabstand zum Ziel einhalten?
Danke und LG
-o1
@Slayer X3-Fan
siehe Google mit "x3 scripttutorial" -> 1.Eintrag:
http://forum.egosoft.com/viewtopic.php?t=157899
viel spass
achja... hier noch ne Befehlsreferenz zum nachlesen was einzelne Befehle bewirken: http://madxhawk.com/kb.php?mode=cat&cat=21
mal wieder ne kleine Frage:
OOS und Raketen!... "uff" denken einige wieder "geht nicht, weil oos keine Raketen genutzt werden..."
Ja, aber:
Ich hab gelesen, das OOS die Raketen "simuliert" werden.?!
Was kann man darunter verstehen?
Wenn ich nen Schiff als Bomber scripte, ihm keinerlei Laser verpasse und die Raketenabschussbefehle per script quasi "erzwinge", kann er dann OOS etwas vernichten?
Stimmen die Entfernungsangaben der Raketen (Flugweite) OOS auch noch oder muss der Bomber nen bestimmten Mindestabstand zum Ziel einhalten?
Danke und LG
-o1
@Slayer X3-Fan
siehe Google mit "x3 scripttutorial" -> 1.Eintrag:
http://forum.egosoft.com/viewtopic.php?t=157899
viel spass
achja... hier noch ne Befehlsreferenz zum nachlesen was einzelne Befehle bewirken: http://madxhawk.com/kb.php?mode=cat&cat=21
Ja.o1ofco2 wrote:Wenn ich nen Schiff als Bomber scripte, ihm keinerlei Laser verpasse und die Raketenabschussbefehle per script quasi "erzwinge", kann er dann OOS etwas vernichten?
OOS ist die Entfernungs-Begrenzung bei Lasern und Raketen völlig freiwillig.Stimmen die Entfernungsangaben der Raketen (Flugweite) OOS auch noch oder muss der Bomber nen bestimmten Mindestabstand zum Ziel einhalten?
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.
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
- X2-Illuminatus
- Moderator (Deutsch)
- Posts: 24962
- Joined: Sun, 2. Apr 06, 16:38
Nein. Es gibt aber verschiedene Tutorials zum Scripten und Modden von TC. Beim Scripten mit dem Script Editor kannst du quasi alles verwenden, dass seit X2 geschrieben wurde. Mit X2 wurde der Script Editor (SE) eingeführt, die Logik des SEs ist seitdem gleichgeblieben. Es sind nur neue Befehle hinzukommen. Als Basiseinführung in den SE kann man das MSCI Programmer's Handbook nutzen, das man im Downloadbereich (X2 -> Bonusmaterial) herunterladen kann. Zur Erklärung der einzelnen Befehle solltest du dich an die verschiedenen MSCI-Referenzen halten. Die Referenz im Egosoft-Forum ist in meiner Signatur verlinkt. Ansonsten gibt es noch die Referenz auf madxhawk.com sowie die auf xai-corp.net.Slayer X3-Fan wrote:Gibt es (für TC) eine Art Modding/Scripter Crashkurs, bei dem man so gänige Allgemeinsachen kennen lernen kann und man ebenso einen einfachen "Einstieg" ins selbstständige Scripten/Modden bekommt?
Zum Mission Director, der zum Ende von X3:R eingeführt wurde, findet sich eine Anleitung hier.
Das Modding Feld ist insgesamt etwas größer und komplexer. Insofern musst du halt schauen, was du verändern möchtest und dir dementsprechend Anleitungen suchen. enenra hat hier auf englisch die Grundlagen des Moddens erklärt.
Ansonsten solltest du dich an die verschiedene Tutorial und Toolsammlungen in den verschiedenen Scripts und Modding Foren halten. Darin findest du verschiedene Erklärungen und Anleitungen zum Scripten und Modden. Ansonsten hilft das Anschauen bestehender Scripte und/oder Mods - und wie so oft das Stellen von Fragen.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
- Slayer X3-Fan
- Posts: 63
- Joined: Sun, 24. Aug 08, 16:47
aha... könnte dann ein GKS nahe des Nordtores einen Jäger, der sich am anderen ende des Sektors befindet (Südtor) einfach so abschießen ohne sich ihm nähern zu müssen?Gazz wrote:OOS ist die Entfernungs-Begrenzung bei Lasern und Raketen völlig freiwillig.o1ofco2 wrote:Stimmen die Entfernungsangaben der Raketen (Flugweite) OOS auch noch oder muss der Bomber nen bestimmten Mindestabstand zum Ziel einhalten?
LG
-o1
Könnte schon, aber GKS sind dafür viel zu sehr von sich eingenommen.
Wenn der Jäger was will, dann muß er sich schon hierher bemühen!
Wie nahe genau... steht in den !fight scripts.
Wenn der Jäger was will, dann muß er sich schon hierher bemühen!
Wie nahe genau... steht in den !fight scripts.
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.
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
ok
oder aber, der Jäger schickt aus sicherem Abstand liebe Grüße per Hornisse(n) und das GKS darf dann in den "ewigen Jagdgründen" nochmal über seine Überheblichkeit nachdenken
ja, ich glaube ich habs gerafft, was du mir damit sagen möchtest
Danke und LG
-o1
PS:
ich glaube das hier von Lucike (4. Post) wäre der richtige Text für die "lieben Grüße"
oder aber, der Jäger schickt aus sicherem Abstand liebe Grüße per Hornisse(n) und das GKS darf dann in den "ewigen Jagdgründen" nochmal über seine Überheblichkeit nachdenken
ja, ich glaube ich habs gerafft, was du mir damit sagen möchtest
Danke und LG
-o1
PS:
ich glaube das hier von Lucike (4. Post) wäre der richtige Text für die "lieben Grüße"
so, nach laaanger und vergeblicher Suche brauch ich mal bissl Hilfe beim: "SIGNAL_SCANNED"
was möchte ich per script erreichen:
- NPC-Schiff (getarnter Xenon) wird von der Polizei gescannt
- SIGNAL_SCANNED wird ausgelöst (glaube/hoffe ich zumindest)
- NPC-Schiff soll die Rasse ändern (meinetwegen auch durch $ship -> set pirate coverstate [FALSE])
- NPC-Schiff wird von der Polizei abgeknallt, weil Feindlich (getarnter Xenon gewesen)
mein Problem ist, dass ich keinen blassen Schimmer von den ganzen SIGNAL's_"wasauchimmer" habe und wie ich das verwenden sollte
lacht bitte nicht über die erste Zeile im code - ich kann mir vorstellen, dass das totaler blödsinn ist
meine bisherige Überlegung: (nicht im SE, momentan nur auf papier)
ich kann mir vorstellen, dass das nicht funzen wird… daher brauche ich eure hilfe
LG und thx
-o1
was möchte ich per script erreichen:
- NPC-Schiff (getarnter Xenon) wird von der Polizei gescannt
- SIGNAL_SCANNED wird ausgelöst (glaube/hoffe ich zumindest)
- NPC-Schiff soll die Rasse ändern (meinetwegen auch durch $ship -> set pirate coverstate [FALSE])
- NPC-Schiff wird von der Polizei abgeknallt, weil Feindlich (getarnter Xenon gewesen)
mein Problem ist, dass ich keinen blassen Schimmer von den ganzen SIGNAL's_"wasauchimmer" habe und wie ich das verwenden sollte
lacht bitte nicht über die erste Zeile im code - ich kann mir vorstellen, dass das totaler blödsinn ist
meine bisherige Überlegung: (nicht im SE, momentan nur auf papier)
Code: Select all
if SIGNAL_SCANNED == True
$Leader -> set pirate coverstate = FALSE
$Leader -> set owner race to Xenon
$Wing.Arr = $Leader get formation ships
$Size.Arr = size of Array $Wing.Arr
while $Size.Arr > 0
$Member = $Wing.Arr[$Size.arr]
$Member -> set pirate coverstate = FALSE
$Member -> set owner race to Xenon
dec $Size.Arr
@ wait 100ms
end
end
LG und thx
-o1
Hihi, ja ist es. (nicht böse gemeint )lacht bitte nicht über die erste Zeile im code - ich kann mir vorstellen, dass das totaler blödsinn ist Embarassed
Schau dir mal das hier an. Wie dort auch steht, ist es allerdings in den meisten Fällen besser nicht Primärsignale, sondern Sekundärsignale zu verwenden. Diese werden über den Befehl
<RefObj> add secondary signal: signal=<Object Signal>, script=<Script Name>, prio=<Var/Number>, name=<Var/String>
mit einem Skript verbunden.
MfG,
ScRaT
hehe
ok, also wenn ich das richtig verstanden habe starte ich nen kleines script auf dem NPC-Schiff (um nicht zu stören Task 40 meinetwegen), indem ich das secondary signal SIGNAL_SCANNED mit einem weiteren script plugin.npcship.gescanntundaufgeflogen verbinde.
in dem plugin-script kann ich dann all das machen, was in meinem code stand (ab zeile2).
muss das script auf dem NPC (task 40) eine schleife haben oder reicht ein einmaliges durchlaufen und quasi "anmelden" des 2. scriptes bei auslösen vom Signal?
danke und LG
-o1
ok, also wenn ich das richtig verstanden habe starte ich nen kleines script auf dem NPC-Schiff (um nicht zu stören Task 40 meinetwegen), indem ich das secondary signal SIGNAL_SCANNED mit einem weiteren script plugin.npcship.gescanntundaufgeflogen verbinde.
in dem plugin-script kann ich dann all das machen, was in meinem code stand (ab zeile2).
muss das script auf dem NPC (task 40) eine schleife haben oder reicht ein einmaliges durchlaufen und quasi "anmelden" des 2. scriptes bei auslösen vom Signal?
danke und LG
-o1
das Signal-script wird immer gestartet wenn das zugeordnete Signal ausgelöst wird - kein bedarf das selber abzufragen..
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
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
Erstmal wird dem Schiff ein (secondary wenns geht) SIGNAL und Signal Script zugewiesen.o1ofco2 wrote:- NPC-Schiff (getarnter Xenon) wird von der Polizei gescannt
- SIGNAL_SCANNED wird ausgelöst (glaube/hoffe ich zumindest)
- NPC-Schiff soll die Rasse ändern (meinetwegen auch durch $ship -> set pirate coverstate [FALSE])
- NPC-Schiff wird von der Polizei abgeknallt, weil Feindlich (getarnter Xenon gewesen)
(ScRaT_GER's Post)
Das Signal script an sich sieht dann so aus:
Code: Select all
001 THIS-> set pirate coverstate = FALSE
002 THIS -> set owner race to Xenon
003 return null
Das IST alles.
Ist bei diversen Signals unterschiedlich. Einfach mal ausdrucken lassen, was so an Argumenten mitgeliefert wird.
Auf keinen Fall sollte ein SIGNAL Script selbst jemals ein Wait enthalten oder irgendetwas, was danach permanent läuft.
Ist ganz schlechtes Voodoo.
Oh, und Priorität sollte deutlich über 100 sein.
Ja.o1ofco2 wrote:reicht ein einmaliges durchlaufen und quasi "anmelden" des 2. scriptes bei auslösen vom Signal?
Signale können aber recht eigen sein. Immer gründlich testen was wirklich passiert - und wann genau.
Secondary signal attacked z.B. funzt nur sehr... sporadisch.
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.
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
ok, danke an alle, ich glaub jetzt hab ichs gerafft, wie das mit den SIGNAL's funzt
also packe ich nur die Zeile
in eine der ersten Zeilen des scriptes, welches auf dem $npcship auf task 0 läuft (und das schiff seine Aufgabe erfüllen lässt) und damit hab ich festgelegt, was genau passiert wenn das schiff gescannt wird -> nämlich das, was im script plugin.npcship.gescanntundaufgeflogen drinsteht.
meine Frage ist nun nurnoch, was ich bei name=<Var/String> eingeben soll?! ..den reinen Namen des auszuführenden Scriptes das bei "SIGNAL Fired" ausgeführt wird?
gefunden hab ich leider nichts dazu im netz
danke und LG
-o1
also packe ich nur die Zeile
Code: Select all
$NPCship add secondary signal: signal=SIGNAL_SCANNED, script=plugin.npcship.gescanntundaufgeflogen, prio=299, name=<Var/String>
meine Frage ist nun nurnoch, was ich bei name=<Var/String> eingeben soll?! ..den reinen Namen des auszuführenden Scriptes das bei "SIGNAL Fired" ausgeführt wird?
gefunden hab ich leider nichts dazu im netz
danke und LG
-o1
Also normalerweise macht man soetwas in einem Setup-Skript. Ich habe dir da auch nicht ganz den richtigen Befehl gezeigt um das komfortabel für alle Schiffe einer Klasse (in deinem Fall Xenon Schiffe, denke ich mal) machen zu können. Der Befehl lautet:in eine der ersten Zeilen des scriptes, welches auf dem $npcship auf task 0 läuft (und das schiff seine Aufgabe erfüllen lässt) und damit hab ich festgelegt, was genau passiert wenn das schiff gescannt wird -> nämlich das, was im script plugin.npcship.gescanntundaufgeflogen drinsteht.
global secondary signal map: add signal=<Object Signal> race=<Var/Race> class=<Var/Class> script=<Script Name> prio=<Var/Number> name=<Var/String>
Sollte eigentlich selbsterklärend sein. "name" ist dabei ein String, den du angibst, damit du das Signal später über den entsprechenden "remove signal"-Befehl in einem Uninstall-Skript wieder entfernen kannst.
MfG,
ScRaT
nene, ScRaT, ich glaube, der "secondary"-Befehl ist schon der richtige.
also, ich möchte gern folgendes realisieren (nach einer Idee von Gazz, der mir diese freundlicherweise zur Verfügung gestellt hat):
Ich möchte eine Navigationsbake in einem zufällig gewählten sektor errichten, die als "Zielkoordinatensender" für eine Gruppe Xenondickschiffe herhalten soll.
Diese Bake möchte ich aber nicht in den Zielsektor hineincheaten, sondern per getarnten Xenonjäger (am besten ein N, da schnell) konventionell in den Zielsektor gebracht werden.
Mit dieser Aktion wird auch dem jungen Discovererpiloten (Spieler beim Spielstart) die Möglichkeit eröffnet, aktiv auch mit seinem "Pups-schiff" auf die ganze Geschichte Einfluss zu nehmen - indem er die Aussendung dieser Navigationsbaken verhindern kann.
Da das "Aussetzer-Xenon N" aber der Rasse Xenon angehört, ist es gegenüber allen anderen Rassen feindlich eingestellt und wird zu 90% abgeschossen, bevor es seinen Auftrag erfüllen kann.
Deshalb möchte ich es "tarnen" - per "set pirate coverstate [TRUE]" o.ä., je nachdem wie mir das am besten gelingt.
Und genau diese Tarnung soll auffliegen, sobald das N gescannt wird. Auch von normalen Polizeischiffen (ich geh mal davon aus, das nicht nur das spielerschiff gescannt wird und auch oos gescannt wird *hoff*)
Somit sollte/muss das script, welches das N enttarnt auch nur für dieses N ausgeführt werden - nicht für alle N's die unterwegs sind.
Das N soll nur diesen einen Zweck erfüllen und somit keine große sache werden
Leider hab ich keine ahnung von "deinstallations"-scripten, weshalb ich auch keine deinstallationsroutine für mein script schreiben kann.
Da es ein AL-Script wird/ist, kann der spieler das ganze auch kurzerhand abstellen und den verbliebenen Rest der "ScriptXenons" konventionell mit feuerkraft aus seinem Universum entfernen.
LG
-o1
also, ich möchte gern folgendes realisieren (nach einer Idee von Gazz, der mir diese freundlicherweise zur Verfügung gestellt hat):
Ich möchte eine Navigationsbake in einem zufällig gewählten sektor errichten, die als "Zielkoordinatensender" für eine Gruppe Xenondickschiffe herhalten soll.
Diese Bake möchte ich aber nicht in den Zielsektor hineincheaten, sondern per getarnten Xenonjäger (am besten ein N, da schnell) konventionell in den Zielsektor gebracht werden.
Mit dieser Aktion wird auch dem jungen Discovererpiloten (Spieler beim Spielstart) die Möglichkeit eröffnet, aktiv auch mit seinem "Pups-schiff" auf die ganze Geschichte Einfluss zu nehmen - indem er die Aussendung dieser Navigationsbaken verhindern kann.
Da das "Aussetzer-Xenon N" aber der Rasse Xenon angehört, ist es gegenüber allen anderen Rassen feindlich eingestellt und wird zu 90% abgeschossen, bevor es seinen Auftrag erfüllen kann.
Deshalb möchte ich es "tarnen" - per "set pirate coverstate [TRUE]" o.ä., je nachdem wie mir das am besten gelingt.
Und genau diese Tarnung soll auffliegen, sobald das N gescannt wird. Auch von normalen Polizeischiffen (ich geh mal davon aus, das nicht nur das spielerschiff gescannt wird und auch oos gescannt wird *hoff*)
Somit sollte/muss das script, welches das N enttarnt auch nur für dieses N ausgeführt werden - nicht für alle N's die unterwegs sind.
Das N soll nur diesen einen Zweck erfüllen und somit keine große sache werden
Leider hab ich keine ahnung von "deinstallations"-scripten, weshalb ich auch keine deinstallationsroutine für mein script schreiben kann.
Da es ein AL-Script wird/ist, kann der spieler das ganze auch kurzerhand abstellen und den verbliebenen Rest der "ScriptXenons" konventionell mit feuerkraft aus seinem Universum entfernen.
LG
-o1
Denke ich auch, da die Funktion ja einen ganz bestimmten "job" betrifft.o1ofco2 wrote:nene, ScRaT, ich glaube, der "secondary"-Befehl ist schon der richtige.
Bei create ship die Rasse pirate angeben.o1ofco2 wrote:Deshalb möchte ich es "tarnen" - per "set pirate coverstate [TRUE]" o.ä., je nachdem wie mir das am besten gelingt.
Muß dafür evtl. in einem nicht-Xenonsektor sein. Hab ich noch nicht probiert.
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.
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
Achso, konnte ich ja nicht wissen. ^^nene, ScRaT, ich glaube, der "secondary"-Befehl ist schon der richtige.
also, ich möchte gern folgendes realisieren
In dem Fall ist der vorher genannte Befehl tatsächlich der richtige.
Ist eigentlich auch nicht zwingend nötig, wenn es nur einzelne Schiffe betrifft. Ansonsten ist ein Deinstalltionskript ein ganz normales Skript - es hat halt nur die Aufgabe das eigentliche Skript zu deinstallieren, also Dinge wie globale Variablen, Signale, etc. wieder auf ihren Anfangszustand zurückzusetzen.Leider hab ich keine ahnung von "deinstallations"-scripten, weshalb ich auch keine deinstallationsroutine für mein script schreiben kann.
Das könntest du in deinem Fall so realisieren, dass du dir die getarnten Schiffe merkst (machst du wahrscheinlich eh schon in einem Array) und dann bei der Deinstallation (oder bei der Deaktivierung des AL-Plugins) bei jedem Schiff in diesem Array das Signal wieder entfernst.
Ja, sieht zumindest danach aus, wenn du dir das entsprechende Skript ansiehst (!move.scanpatrol.xml).(ich geh mal davon aus, das nicht nur das spielerschiff gescannt wird und auch oos gescannt wird *hoff*)
MfG,
ScRaT
Die einfachste Deinstallation ist immer noch:ScRaT_GER wrote:Das könntest du in deinem Fall so realisieren, dass du dir die getarnten Schiffe merkst (machst du wahrscheinlich eh schon in einem Array) und dann bei der Deinstallation (oder bei der Deaktivierung des AL-Plugins) bei jedem Schiff in diesem Array das Signal wieder entfernst.
1 Schleife durch sämtliche Sektoren. (kein wait)
Alle Schiffe, die (per local var gekennzeichnet) von dem Script erstellt worden siden, machen bummskrawumms.
Keine Schiffe / bojen / etc. mehr... also auch keine Scripts oder Signals. Deinstallation feddich.
Ich geb zu, das kann man eleganter lösen, aber Holzhammer funktioniert auch gut. =)
So ne Routine ist auch während des Schreibens recht nützlich.
Wenn irgendwas nicht funzt und plötzlich tausende von Schiffen generiert werden... dann läßt sich das schnell wieder aufräumen.
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.
There is no sense crying over every mistake. You just keep on trying till you run out of cake.