[DISKUSSION] Allgemeine MD-Fragen

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators

Post Reply
User avatar
JSDD
Posts: 836
Joined: Fri, 21. Mar 14, 21:51

Post by JSDD » Fri, 17. Feb 17, 14:26

Aldebaran_Prime wrote:ich möchte in einem MD Script das Turret eines (schon existierenden) Frachters dazu bringen, auf feindliche Schiffe zu feuern. Leider bringt die reine Feindeinstellung...

Code: Select all

<set_relation object="TRPRSC101.A2 JonFerco Contractor">
<relation object="{player.ship}" relation="enemy" mutual="1"/>
</set_relation>
... das Turret nicht dazu zu feuern, so lange ich als Player nicht als erstes schieße.

Der Befehl ...

Code: Select all

<set_command object="TRPRSC101.A2 JonFerco Contractor" command="attack" commandobject="{player.ship}"/>
...führt aber leider dazu, dass der Frachter auch sein ursprüngliches Ziel vergisst und dem Spielerschiff hinterherfliegt - das soll es aber nicht.

Wie kann ich nur die Turrets auf "Vernichte Feinde" stellen, ohne das ganze Schiff angreifen zu lassen?[/code]

turrets sind ne spezielle sache: OOS gehen sie schlafen, aber nur auf spielereigene schiffe, auf KI schiffe werden sie komplett abgeschaltet und, wenn sie den spieler sector erneut betreten, automatisch gestartet

frachter benutzen afaik den "missile defense" modus, der schießt immer nur zurück, greift also nicht von vorne herein an

AP und TC haben da n unterschied, soweit ich weiß:
TC turret scripts sind einfach gestrickt
AP turret scripts wurden von gazz erstellt (kennste ja bestimmt, den macher von MARS :roll:)

für TC galt generell bei (größeren?) schiffen:
front left right = kill enemies
back up down = missiile defense


kurz gesagt:
-- mach das script das ubuntu dir gepostet hat, um alle turrets des schiffs zu starten
-- starte das script auf dem objekt via MD, mit task=1 und object="...weistjabescheid..." taskid="7777" jedenfalls NICHT 0, 1, 2, 3, 4, 5, 6, 33 oder sonstige genutzte tasks
-- oder starte das script global & gib als argument das schiff
To err is human. To really foul things up you need a computer.
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.


Mission Director Beispiele

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Freund-Feind-Kennung

Post by Klaus11 » Mon, 24. Apr 17, 18:27

Ich brauche auch mal wieder Eure geschätzte Hilfe.

Mir will es einfach nicht gelingen, per MD Script, in „Globale Kommandos“ die „Freund-Feind-Kennung“ für einige Völker von Feind auf Freund umzustellen. Finde ich die Lösung nur nicht oder ist es vielleicht gar nicht machbar?

Ich bin dankbar für jedes hilfreiche Beispiel.

Grüße, Klaus
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
Ketraar
Moderator (DevNet)
Moderator (DevNet)
Posts: 8713
Joined: Fri, 21. May 04, 17:15

Post by Ketraar » Mon, 24. Apr 17, 20:24

In MD geht das nur sehr mühsam, da man damit nur einzelne Objekte einstellen kann. Für globale Einstellung ist da der SE eher angebracht.

MFG

Ketraar

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Post by Klaus11 » Mon, 24. Apr 17, 20:45

Ketraar wrote:In MD geht das nur sehr mühsam, da man damit nur einzelne Objekte einstellen kann. Für globale Einstellung ist da der SE eher angebracht.

MFG
Ketraar
Ich danke dir für die Info. Also Plan B. :wink:

MFG

Klaus
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

DerW88
Posts: 1010
Joined: Fri, 28. Mar 14, 21:37

Post by DerW88 » Sat, 20. May 17, 22:23

Hi ich hätte da mal ein par Fragen.

Hab auch schon bei den Tuts geguckt aber das einzige, was evtl hilfreich wäre hat leider einen Toten Link und der Ersteller scheint seit 2012 nicht mehr aktiv zu sein (sein letzter Foreneintrag) :(

Ich spiele eine AP Mod Version (EMC4AP) und wollte mir für die Mod ein Ship Pack (Cadius X-Tra ship Pack) kompatibel machen. Nun meine Fragen.

-Welche Tools brauche ich alles dafür?

-Gibt es Besonderheiten, auf die man achten muss beim Einfügen der neuen Schiffe?

-In der Cat. vom Shippack sind mehrere Ordner (dds, objects(effects, ships), addon). Muss ich nur die Datein im addon Ordner ändern und den Rest nur einfügen oder alle irgendwie anpassen (beim groben Vergleich mit XEditor 2 sind das komplett andere Dateinamen als in der EMC4AP Mod)

-Beim Installieren des Ship Packs wird NICHTS überschrieben (scripts, director, t). Kann ich da dann die Dateien benutzen oder muss ich doch neue Scripts ect. erstellen?

Den XEditor 2 hab ich schon benutzt um Schiffe, Laser und Bullets etwas an zu passen. Das wars dann auch schon mit meiner Erfahrung dahingehend :lol:

Ich hoffe ihr könnt mir da weiter helfen.

Ghostrider[FVP]
Posts: 3140
Joined: Wed, 6. Nov 02, 21:31

Post by Ghostrider[FVP] » Sun, 21. May 17, 03:33

Hallo!

Wirf am Besten mal einen Blick in die S&M Tutorials und Ressourcen.. dort findest Du z.B. unter Modding Tools schon dein Sachen und wie man genau vorgeht kannst Du den entsprechenden Themen dort entnehmen.

Manchmal ist es auch ganz gut wenn man einen Blick in die Tutos der vorangegangenen X-Teile (Foren) wirft da sie einige Sachen nicht ändern und nicht immer wieder neu aufgenommen werden.

Viel Spass
Ghostrider
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X4-The Sonen
Image

DerW88
Posts: 1010
Joined: Fri, 28. Mar 14, 21:37

Post by DerW88 » Thu, 25. May 17, 04:34

So ich hab mich da mal umgesehen und auch auf Doubleshadows Seite.
Das einzige von den Tools dort, das funktioniert ist der X3Editor 2.

Beim Mod Manager kommt eine Fehlermeldung, das was fehlt (also danach gegooglet und von Microsoft gedownloaded und installiert. Fazit > Fehlt immer noch :? und ich darf meine Startprogramme neu einstellen -.-)

Hab mir auch den X2 Archiver geholt. Der zeigt mir beim starten einen Runtime Error an.

Gibt es evtl auch eine verständliche Anfängerfreundliche Installationsanleitung für die Tools?

Ich blicke da absolut nicht durch.

Edit: ich merke auch grade, das ist der Falasche Forenteil für meine Frage :?

User avatar
JSDD
Posts: 836
Joined: Fri, 21. Mar 14, 21:51

Post by JSDD » Tue, 30. May 17, 02:08

DerW88 wrote:Ich spiele eine AP Mod Version (EMC4AP) und wollte mir für die Mod ein Ship Pack (Cadius X-Tra ship Pack) kompatibel machen.

...

Gibt es evtl auch eine verständliche Anfängerfreundliche Installationsanleitung für die Tools?
... is nix für amateure, ehrlich gesagt & nett gemeint, tools korrekt zu bedienen ist das eine (einfachere), das verständnis für was man da tut (& welche [neben-]effeke das haben wird) is nochmal was gaaanz anderes. mich hats mehrere monate gekostet um zu verstehen wie man vorgehen sollte & welche fehler man nicht machen soll. aber mit nem guten schuss ehrgeiz & nerfen kanns jeder lernen ;)


benötigte tools:
-- X3Editor2


was muss man machen, damit man neue schiffe im game hat ?
-- schmeiß den X3Editor2 an, mit korrekten pfad zum game-verzeichnis usw.
-- öffne das "virtuelle dateisystem" (virtual file system, VFS), das machste mit "plugin" --> "catmanager"
-- click dich zur datei "addon/types/TShips" --> öffnen mit "TFile Editor"
-- links haste alle schiffe die's gibt, sortiert nach nummern

... neues schiff gefällig !?
-- rechtsklick auf "27 Zentaur" --> copy
-- rechtsklick --> "paste TO END" (gaaanz wichtig: TO END!!!!!!)

spul mach ganz runter (ende argonen schiffe), dort haste nun ne copie vom zentaur, mit den selben daten / eigenschaften / model / etc pp, ne exakte kopie, nur ists eben nicht der original zentaur

-------------------------------------

lektion 1: TShips definiert alle möglichen schiffstypen

-------------------------------------

klick auf den neuen zentaur, geh auf den tab "Model", dort siehste:
ship scene: ships\argon\argon_M6_scene [.bod datei]

diese datei definiert, welche model komponenten wo (in 3D) sitzen, z.b.
-- schiffsrumpf im ursprung
-- camera etwas höher, vorne
-- links + rechts n paar laser
-- hinten n turret
-- etc pp

diese datei beschreibt NICHT die geometrie der komponenten (also nicht "mesh" / "material" / "texture" usw), sondern nur wo sich diese meshes befinden, die eigentliche modelgeometrie z.B. des schiffsrumpfes ist voanders versteckt:
objects\ships\argon\argon_M6 [.bob datei]

wie komm ich darauf ??
-- "plugin" --> "catmanager" --> objects/ships/argon/argon_M6_scene --> 1x anklicken --> "extract files" --> irgendwo aufs desktop eben ...
-- WICHTIG: das häkchen bei "decompress compressed files" muss gesetzt sein
-- dann öffne die datei auf'm desktop mit nem simplen texteditor
-- wenn du n schreck bekommst: ist normal, anfangs versteht da keiner was :roll:

-- kurz: jede <P + zahl> zeile beschreibt ne neue komponente, die folgezeile(n) beschreibt 3D position (x | y | z) und die rotation (in 4D quaternion, ne mathe-g'schich')

-------------------------------------

lektion 2: die scene datei beschreibt alle komponenten des schiffs, NICHT aber die komponenten selbst, diese sitzen in separaten dateien (.bob dateien)

-------------------------------------


thema schiffsmod:
-- downloaden
-- der mod wird höchstwahrscheinlich neue scenen + komponenten dateien enthalten + 100% ne eigene TShips haben
-- deine aufgabe: copier die szene + komponentedateien in dein gameverzeichnis, achte drauf dass die verzeichnis struktur passt (also z.B. dass alles aus den downloadordner "objects/" in dein spielverzeichnis "object/" kommt usw)

danach fangt der spaß an:
-- für alle NEUEN eingefügten schiffe
---- kopier die entsprechende TShips zeile in deine eigene TShips (also wahrscheinlich jene vom EMPC mod: ANS ENDE!!!!!)
-- wenn fertig & keine original dateien überschrieben & TShips korrekt, haste die schiffe im game (technisch gesehen :lol: :))
-- damit du die dinger kaufen kannst / die KI diiese benutzt usw, müssen scripts her (anderes thema)

das ist grob die vergehensweise zum "mergen" 2er (ship)mods ..
vorwarnung: wenns die die installation "zerreißt" / saves nicht mehr geladen werden, ist was nicht ganz richtig gelaufen (wie bereits gesagt: neben ehrgeiz gehört ne große portion nerf dazu!!)

have "fun" sag ich dann ma' ..
To err is human. To really foul things up you need a computer.
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.


Mission Director Beispiele

User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Thu, 22. Jun 17, 22:56

in einem alten MD-Plot habe ich nun unter X3AP festgestellt, dass zwar Schiffe mit <create_ship...> einwandfrei erzeugt wurden, dann aber dumm rumstanden und den Spieler nicht angegriffen haben.

Es geht um folgenden Code:

Code: Select all

      <create_ship name="PirateM7 Exactor_CS Sc1_5" typename="SS_SH_TR_M7" race="terran" racelogic="0" group="Pirate Gr Exactor_CS Sc1_5">
                           <position min="10km" max="15km" object="{player.ship}"/>
                            <sector sector="{player.sector}"/>
                            <equipment loadout="maximum"/>
                             <command command="attack" commandobject="{player.ship}"/>
                   </create_ship>
Eigentlich alles Standard, außer dass

Code: Select all

racelogic="0" 
gesetzt wurde, damit der Spieler keinen Rangverlust erleidet

Wenn man dies aber tut, macht das erzeugte Schiff einfach NICHTS

Sobald man den Wert

Code: Select all

racelogic="1" 
setzt, funktioniert es jedoch.

Ist das normal oder ein BUG im MD-Interpreter?

soviel ich mich erinnern kann, funktionierte der gleiche Code unter X3TC 3.0 noch einwandfrei

Hat jemand eine Idee, wie ich das Problem umschiffen kann?
Image

User avatar
Ketraar
Moderator (DevNet)
Moderator (DevNet)
Posts: 8713
Joined: Fri, 21. May 04, 17:15

Post by Ketraar » Fri, 23. Jun 17, 10:27

Racelogic=0 hat nix mit rang zutun, sondern mit jobs. Wenn man racelogic nicht setzt ist das default 1 und dann tut das Schiff was es normalerweise tun würde, wäre es von den jobs gespawnt worden.

Warum es nicht angreift kann an manches liegen und ist so schwer zu sagen. Spekulation würde sagen das es keine waffen hat, oder es nicht in reichweite ist. Hat man den SE aktiviert kann man mal in den Schiffsdetails nachschauen was so an an Befehle aktiv sind.

MFG

Ketraar

User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Fri, 23. Jun 17, 12:53

Ketraar wrote:Racelogic=0 hat nix mit rang zutun, sondern mit jobs. Wenn man racelogic nicht setzt ist das default 1 und dann tut das Schiff was es normalerweise tun würde, wäre es von den jobs gespawnt worden.

Warum es nicht angreift kann an manches liegen und ist so schwer zu sagen. Spekulation würde sagen das es keine waffen hat, oder es nicht in reichweite ist. Hat man den SE aktiviert kann man mal in den Schiffsdetails nachschauen was so an an Befehle aktiv sind.

MFG

Ketraar
nee, garantiert keine Spekulation, habe ich alles ausgeschlossen - obige Beispiel ist genau wie beschrieben von mir getestet - wenn racelogic=0 dann steht es rum, wenn ich dann racelogic auf 1 setze, geht es.

was meinst Du mit Rang? Das habe ich doch gar nicht geschrieben? Auch wird das schiff nicht von einem Job, sondern von einem MD-Script eines TOTT-Plots erzeugt.

Der Code im Plot mit Racelogic=0 ist noch von X3TC 2.5 - dort hat er definitiv noch funktioniert - es gibt Dutzende von Spielern, inkl. mir, die den TOTT Kriminalgeschichte Plot damals sauber durchgespielt haben.

Ich habe mittlerweile aber selbst einen Workaround gefunden:

1. Schiff nach obigen code mit racelogic="0" anlegen
2. "bösen" Piloten einer bestimmten Rasse explizit einsetzen:

Code: Select all

  <create_actor name="PirateM7 Act Exactor_CS Sc1_5" face="813" race="pirate" subrace="argon" voice="103" object="PirateM7 Exactor_CS Sc1_5" location="pilot"/>
                     <set_relation object="PirateM7 Exactor_CS Sc1_5">
                      <relation object="{player.ship}" relation="enemy" mutual="1"/>
             </set_relation>
3. Dann das Schiffscommando zum Angriff explizit setzen:

Code: Select all

<set_command object="PirateM7 Exactor_CS Sc1_5" command="attack" commandobject="{player.ship}"/>
-> geht! 8)

also wer blöd rumstehende Schiffe entdeckt, die vom MD erzeugt wurden, muss den Code wohl anpassen.
Image

User avatar
JSDD
Posts: 836
Joined: Fri, 21. Mar 14, 21:51

Post by JSDD » Fri, 23. Jun 17, 20:53

racelogic="0" oder "1" heißt (soweit ich weiß):
=> jobs engine hat verantwortung: nein (0) oder ja(1)

wenn sie die verantwortung hat, & wenn keine scripte auf dem schiff unwesen treiben (vor allem auf task 0), dann "denkt" sich die job engine: hey! den weck ich jetz mal ..

"wecken" heißt, es sendet ein signal von wegen "führe deine start action aus" (afaik)

"start actions" wiederum werden normalerweise von nem job script gesetzt, da aber der MD das schiff erstellt hat, weiß das schiff gar nicht was seine start action ist ... früher hat dat dazu geführt dass dann "destroy this" ausgeführt wurde ..

kann sein dass ich mich irr ... :roll: :?

wenn du schiffe erstellst die unter deiner verantwortung stehen, hast du dafür zu sorgen, dass das schiff auch mit scripte / commands gofüttert wird, anderseits stehts nur dumm rum ...

PS: attack playership ist afaik ein temporäres commando, heißt nachdem playership sektor verlässt, stoppt das script, & das schiff sitzt nur blöd rum
guck dir mal das "attack object" script an, ich glaub da gibts n parameter von vegen "followinnewsector" oder sowas ... wenn gesetzt, verfolgt dich das schiff die ganze zeit (wie früher die cops nach dem völker-missions-schiff-kapern ;))
To err is human. To really foul things up you need a computer.
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.


Mission Director Beispiele

User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Sat, 24. Jun 17, 11:44

Danke für Eure Hilfe!
Ich haben verstanden, dass wenn ich die Plots rein in MD-Script-Sprache lassen möchte, ist der Weg, dem Schiff NACH dem Erzeugen ein Kommando mitzugeben, also das Standardpattern. Das habe ich ja nun in meinem Workaround gemacht.

Bleibt für mich nach wie vor das Rätsel, warum früher auch bei Racelogic="0" schon beim Erzeugen ein Commando mitgegeben werden konnte und heute nicht mehr.
(der Code ist ja noch von X3TC 2.5 oder noch älter und hat damals definitiv funktioniert)
Image

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Post by Klaus11 » Fri, 25. Aug 17, 09:49

Hallo Piloten,

Nun habe ich mal wieder ein Problem und die Hoffnung, ihr könnt mir helfen.
In dem Codebeispiel wird das Ansehen definiert.

Code: Select all

<reward_player>
	<notoriety>
               <relation race="boron" exact="10" operation="set" mutual="1"/>
               <relation race="teladi" exact="1" operation="set" mutual="1"/>
               <relation race="paranid" exact="10" operation="set" mutual="1"/>
               <relation race="argon" exact="10" operation="set" mutual="1"/>
               <relation race="split" exact="+1000" operation="set" mutual="1"/>
               <relation race="goner" exact="5000" operation="set" mutual="1"/>
       <notoriety>
</reward_player>
Ich möchte gerne erreichen, dass Z.B. das Ansehen bei den Split um +1000 erhöht wird. So wie ich es hier versucht habe funktioniert es nicht. Wahrscheinlich müsste ich das Ansehen abfragen und in einer Variablen speichern. Dann diese Variable um den Wert (+1000) erhöhen und dann dem Spieler zuordnen.
Ich kenne leider die Syntax nicht. Kann mir bitte jemand einen Tipp geben?
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
Ketraar
Moderator (DevNet)
Moderator (DevNet)
Posts: 8713
Joined: Fri, 21. May 04, 17:15

Post by Ketraar » Fri, 25. Aug 17, 18:50

Code: Select all

operation="set"
Das heisst "opration sezten", wird also der Stand uf den wert gesetzt was du dan angibits. Nutze "add" als oprand und die anzahl wird addiert.

Und "mutal" brauchst du nicht.

Beispiel

Code: Select all

<reward_player>
 <notoriety>
   <relation race="boron" exact="10" operation="add"/>
 <notoriety>
</reward_player>
MFG

Ketraar
Last edited by Ketraar on Fri, 25. Aug 17, 18:53, edited 2 times in total.

Post Reply

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