Modding von Schiffswerten

Hier ist der ideale Ort um über Scripts und Mods für X Rebirth zu diskutieren.

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

Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Modding von Schiffswerten

Post by Daniel Bone »

Ich bin reichlich neu im X-Modding, daher mal die Idee was ich machen möchte. Denke dann könnt ihr mir sagen wo ich drehen muss :D

Mir gefallen die aktuellen Schiffswerte nicht ganz.
Im Besonderen sind das die Werte von Schilden und Hüllen von Schiffen.
Ich möchte Sie tendenziell nach oben Schrauben für GKS.

Das Sahnehäubchen wäre auch, wenn man den "Feuermodus" der Waffen anpassen könnte. Da möchte einfach sehen was machbar ist.
Z.B. richtige Salven statt ein "strahl" aus geschossen
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

Ich kann momentan keine genauen Anweisungen geben weil ich auf Arbeit bin aber wirf am besten schon mal einen Blick in meinen modding Grundkurs (Google o. Ä. Nach dem linken fragen - linken ist über das Handy zu umständlich)
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 ;)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Wenn du den Artikel meinst wo die Sektoren etc. Erklärt werden. Den kenn ich schon :D
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

nope, ich meinte das hier
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 ;)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Ah danke. Das hilft mir weiter :)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Hallo,
ich hab mir jetzt mal ein Turret Skript angesehen.
Ich möchte die normalen HD/MB Türme der Schiffe Treffsicherer machen.
Bin jetzt aber etwas überfragt ob ich A, das richtig Skript habe und B, wo ich da schrauben muss O.o an der Efficency?

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<!--Exported by: Benedikt (192.168.3.115) at 22.05.2013_16-42-55-->
<macros>
  <macro name="turret_small_mg_macro" class="turret">
    <component ref="props_wps_ar_def_turret_s_mg" />
    <properties>
      <identification name="{20104,101}" description="{20104,102}" />
      <bullet class="bullet_turret_small_mg_macro" />
      <rotationspeed max="60" />
      <reload />
      <hull max="7000" threshold="0.25" />
      <effects>
        <explosion ref="explosion_turret_s_floor" />
        <sefx_damage_low ref="sefx_damage_s_low" />
        <sefx_damage_medium ref="sefx_damage_s_medium" />
        <sefx_damage_high ref="sefx_damage_s_high" />
        <sefx_shield ref="sefx_shield_s_01" />
      </effects>
      <efficiency>
        <threshold threshold="0.75" value="1" />
        <threshold threshold="0.25" value="0.25" />
      </efficiency>
    </properties>
  </macro>
</macros>
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

hab deine Antwort gestern nimmer gesehen, daher erst heute ;)

was du da offen hast ist kein Script (dieses wird aktiv ausgeführt und steuert die Logik die hinter allem steckt, z.B. welche Ziele beschossen werden sollen, zu welcher Position geflogen werden soll, welcher Handel der beste ist usw) sondern die Definition eines Turrets/Geschützes, aber das nur nebenher ;)
In diesem fall bist du fast richtig, du müsstest nur eine Datei weiter schauen, dein gesuchter Wert ist in dieser Datei:
<bullet class="bullet_turret_small_mg_macro" />
(Definition des Projektils was dieses Geschütz verschiesst)

Ich hab jetzt mal den Inhalt von dieser raus gesucht:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<!--Exported by: Michael (192.168.3.145) at 14.10.2014_17-51-44-->
<macros>
  <macro name="bullet_turret_small_mg_macro" class="bullet">
    <component ref="plasmaemitter_bullet_xenon" />
    <properties>
      <bullet speed="1700" lifetime="2.1" range="3570" amount="1" barrelamount="1" timediff="0.2" angle="0.15" maxhits="1" ricochet="0" scale="0" attach="0" />
      <reload rate="1.75" />
      <damage value="800" repair="0" />
      <effects>
        <impact ref="plasmaemitter_xenon_impact" inside="plasmaemitter_impact_inside" />
        <launch ref="plasmaemitter_xenon_muzzle" />
      </effects>
      <weapon system="turret_shortrange" />
    </properties>
  </macro>
</macros>
der Wert den du suchst wäre /macros/macro/properties/bullet/@angle denke ich (definiert die maximale Abweichung vom beabsichtigten Zielpunkt)


deine zuvor angesprochene Efficiency sagt lediglich aus, wie effektiv das Turret bleibt wenn es beschädigt wird (mit steigendem Schaden sinkt die Feuerrate iirc, vielleicht auch noch mehr)
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 ;)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Okay verstehe. Leider fehlt mir dazu noch irgendwo eine Doku wie ich die Skills der Offiziere abfrage.
Wenn ich den Code so sehe würde ich spontan folgendes modden wollen:


<bullet speed="1700" lifetime="2.1" range="3570" amount="1" barrelamount="1" timediff="0.2" angle="0.15" - ((OfficerSkill *2) / 100) maxhits="1" ricochet="0" scale="0" attach="0" />
<reload rate="1.75" - ((OfficerSkill *2) / 100) />


Einfach um den Skill des Offiziers überhaupt zur geltung zu bringen.
WEnn ich das System richtig verstanden habe, müsste ich dann für jede Munition den Wert einzeln anpassen?
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

ich glaube nicht, dass man diese Werte im laufenden Spiel beeinflussen kann.. du könntest es einmal mit this.container.defencenpc.combinedskill probieren (möglicher wertebereich 0-100), also nach dem motto:

angle="0.2 - 0.001 * ( this.container.defencenpc.combinedskill )f "

aber ich bezweifle dass das klappt
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 ;)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Ach stimmt. Gedankenfehler.
Die XML stellt ja nur die Basiswerte bereit, und übergibt Sie jeder Instanz eines Turms.
Nach meinem ersten Gedanken müsste das Skript alle X Frames/Millisekunden neu ausgeführt werden. Das würde wenig Sinn machen.
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Ich bräuchte nochmal unterstützung mit folgendem Code:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<!--Exported by: lino (192.168.3.142) at 10.12.2014_10-09-51-->
<diff> 
  <replace sel='/macros/macro/properties/hull'> 
    <hull max="12000000" />
  </replace> 
  <add sel='/macros/macro/connections'>
        <connection ref="connection_storage02">
        <macro ref="cargobay_ship_xl_universal_05_macro" connection="ShipConnection" />
      </connection>
  </add>
</diff>
Das obere replace funktioniert anstandslos.
Problematisch ist der untere Teil. Ich will der Arwan einen kleinen Universal Frachtraum geben.

Hier ist das log:

[General] ======================================
[=ERROR=] Macro template connection 'connection_storage02' not found in macro 'units_size_xl_capital_destroyer_1_macro'. Macro connection 'connection_storage02' not created.
[General] ======================================

Die entsprechend "cargobay_ship_xl_universal_05_macro" wurde von mir ebenfalls erstellt. und im Pfad:
\\assets\props\StorageModules\macros
abgelegt.

Der Code ist:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<!--Exported by: Michael (192.168.3.144) at 03.03.2015_16-53-40-->
<macros>
  <macro name="cargobay_ship_xl_universal_05_macro" class="cargobay">
    <component ref="generic_cargobay" />
    <properties>
      <identification unique="0" />
      <cargo max="35000" tags="bulk container energy liquid" />
      <hull integrated="1" />
    </properties>
  </macro>
</macros>
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

du musst auch der vorlage/component einen Anschlusspunkt für den Frachtraum geben ;) (Datei assets/units/size_xl/units_size_xl_capital_destroyer_1.xml - inhalt ähnlich des macros, allerdings sind hier räumliche beziehungen fest gelegt statt was an die anschlusspunkte angebaut wird)
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 ;)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Das verstehe ich nicht ganz. Ich dachte das habe ich mit dem oberen Macro und dem Befehl <Add> getan?
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

das macro hast du geändert, ja. aber eine ähnliche änderung ist auch in der component-datei auf der das macro basiert nötig. (vereinfacht gesagt sind macros die Lego-Baupläne, was mit welchem baustein verbunden wird und components sind Lego-Bausteine, die definieren welche Anschlusspunkte an einem Baustein vorhanden sind - und du versuchst gerade im macro etwas an einen nicht vorhandenen Anschlusspunkt zu bauen)
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 ;)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

So ganz verstanden habe ich das noch nicht.
Da du das aber sagst, muss es so sein.

Ich habe versucht die Datei jetzt abzuändern und Ihr den Frachtraum zu geben. Klappt aber nicht wirklich. Hier der Code:

Code: Select all

<?xml version="1.0"?>
<diff> 
     <add sel='/components/component/connections'>
        <connection ref="connection_storage02"tags="storage ">
        <offset/>
      </connection>
  </add>
</diff>
Das spuckt das Log aus:

[General] ======================================
[=ERROR=] LIBXML2: file:///extensions%2Fbradley_mod%2Fassets%2Funits%2Fsize_xl%2F%2Funits_size_xl_capital_destroyer_1?ext=pck%20xml line 4, error 65: attributes construct error

[General] ======================================
[General] ======================================
[=ERROR=] LIBXML2: file:///extensions%2Fbradley_mod%2Fassets%2Funits%2Fsize_xl%2F%2Funits_size_xl_capital_destroyer_1?ext=pck%20xml line 4, error 73: Couldn't find end of Start Tag connection line 4
connection
[General] ======================================
[General] ======================================
[=ERROR=] LIBXML2: file:///extensions%2Fbradley_mod%2Fassets%2Funits%2Fsize_xl%2F%2Funits_size_xl_capital_destroyer_1?ext=pck%20xml line 6, error 76: Opening and ending tag mismatch: add line 3 and connection
addconnection
[General] ======================================
[General] ======================================
[=ERROR=] LIBXML2: file:///extensions%2Fbradley_mod%2Fassets%2Funits%2Fsize_xl%2F%2Funits_size_xl_capital_destroyer_1?ext=pck%20xml line 7, error 76: Opening and ending tag mismatch: diff line 2 and add
diffadd
[General] ======================================
[General] ======================================
[=ERROR=] LIBXML2: file:///extensions%2Fbradley_mod%2Fassets%2Funits%2Fsize_xl%2F%2Funits_size_xl_capital_destroyer_1?ext=pck%20xml line 8, error 5: Extra content at the end of the document

[General] ======================================
[General] ======================================
[=ERROR=] Error loading from XML merge/patch file 'assets\units\size_xl\\units_size_xl_capital_destroyer_1'. Check the log for further information. Skipping file.
[General] ======================================
[General] ======================================
[=ERROR=] Macro template connection 'connection_storage02' not found in macro 'units_size_xl_capital_destroyer_1_macro'. Macro connection 'connection_storage02' not created.
[General] ======================================
User avatar
Marvin Martian
Posts: 3614
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian »

Code: Select all

			<connection name="connection_storage02" tags="storage ">
				<offset/>
			</connection>		
name= nicht ref=
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Stimmt. Das ist auch falsch.
Trotzdem scheine ich noch einen anderen Fehler gemacht zu haben. Nach dem Logfile sind ja schon in der Zeile:

Code: Select all

<connection name="connection_storage02" tags="storage ">
Schon zwei Fehler, nämlich:
[General] ======================================
[=ERROR=] LIBXML2: file:///extensions%2Fbradley_mod%2Fassets%2Funits%2Fsize_xl%2F%2Funits_size_xl_capital_destroyer_1?ext=pck%20xml line 4, error 65: attributes construct error

[General] ======================================
[General] ======================================
[=ERROR=] LIBXML2: file:///extensions%2Fbradley_mod%2Fassets%2Funits%2Fsize_xl%2F%2Funits_size_xl_capital_destroyer_1?ext=pck%20xml line 4, error 73: Couldn't find end of Start Tag connection line 4
connection
[General] ======================================

Allein mit dem änern von ref= zu name= gehts noch nicht.

Code: Select all

<?xml version="1.0"?>
<diff> 
     <add sel='/components/component/connections'>
        <connection name="connection_storage02" tags="storage ">
        <offset/>
      </connection>
  </add>
</diff>
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Aus einer Idee heraus habe ich einige anderen Mods angesehen und mich in "Reverse Codeing" beschäftigt.
Den Code habe ich jetzt so abgeändert:

Code: Select all

<?xml version="1.0"?>
<diff> 
     <add sel='/components/component/connections[@id="connection_storage02"]'>
        <connection name="connection_storage02" tags="storage ">
        <offset/>
      </connection>
  </add>
</diff>
Es funktioniert zwar noch nicht, dafür ist das Logfile um diverse Einträge kürzer:

[General] ======================================
[=ERROR=] Cannot match path '/components/component/connections[@id="connection_storage02"]' in patch file 'extensions\bradley_mod\assets\units\size_xl\\units_size_xl_capital_destroyer_1'. Skipping node.
[General] ======================================
[General] ======================================
[=ERROR=] Macro template connection 'connection_storage02' not found in macro 'units_size_xl_capital_destroyer_1_macro'. Macro connection 'connection_storage02' not created.
[General] ======================================
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

Code: Select all

<?xml version="1.0"?>
<diff> 
   <add sel='/components/component/connections'>
      <connection name="connection_storage02" tags="storage ">
        <offset/>
      </connection>
  </add>
</diff>
so sollte es passen ;) gibt schliesslich nur einen connections-Node in der Datei ;)
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 ;)
Daniel Bone
Posts: 612
Joined: Sun, 15. Feb 04, 01:10
x4

Post by Daniel Bone »

Ich werd langsam wahnsinnig ...
Jetzt hab ich folgenden Fehler:
[General] ======================================
[=ERROR=] Cannot find macro XML file from index 'storage_ship_xl_universal_05_macro' in file 'index\macros'
[General] ======================================
[General] ======================================
[=ERROR=] Macro 'storage_ship_xl_universal_05_macro' referenced in macro 'units_size_xl_capital_destroyer_1_macro' does not exist. Macro connection 'connection_storage02' not created.
[General] ======================================

Return to “X Rebirth - Scripts und Modding”