Modding für Anfänger - Waffen - Ein kleiner Guide und ein d

#1
Hallo liebe Community,

zum einen soll dieser Thread dazu dienen, Modding und die Möglichkeiten die (mir) bisher bekannt sind etwas genauer Darzustellen.
Der dadurch auftretende Nebeneffekt sollte sein, dass der Community hier mal gezeigt wird wie einfach und mächtig das Modding in DSA-Schicksalsklinge HD ist.
Dafür ein dicker Dank an die Entwickler.

Die Auflistungen hier sind nicht zwingend vollständig oder 100%ig richtig - auch ich mache gerne Fehler. Hinweise und Korrekturen bitte im Thread oder als PM, werde versuchen das hier dann zu aktualisieren.

Zum Modding:
Es ist nicht selbstverständlich, dass bei einem Spiel das Modding so einfach durch Hinzufügen und Ändern von (lesbaren!) Einträgen in XML-Dateien ist.
Ich persönlich begrüße das sehr. Man kann viel erreichen und verstehen, nur indem man sich die verschiedenen, bereits im Spiel befindlichen Beispiele mal ein wenig ansieht und diese gegebenenfalls abändert.
Dadurch lassen sich im Prinzip alle (ALLE!) Werte, Beschreibungen und Effekte eines Gegenstandes ändern
Zwar haben wir (bisher) keinen Editor dafür, aber den brauchen wir auch nicht. Hilfreich zum einfacheren Lesen der Dateien die wir ändern ist das Programm Notepad++. Zur Not tut es auch der Windows-Editor.
Ich empfehle aber dringend dafür ein Programm zu verwenden dass die XML-Dastellung beherrscht. Es bleibt einfach viel übersichtlicher.


Nehmen wir als erstes mal das, wonach es einem RPG-Helden ständig gelüstet: Waffen!
In der Datei "Items2b.xml" finden wir alles, was das Spiel an Gegenständen hergibt. Für jeden Gegenstand werden hier die Werte festgelegt und auch seine Wirkungen (Effects) hinzugefügt, wobei dei Effekte selber in einer anderen Datei (effects.xml) definiert sind.

Aber eines nach dem anderen, schauen wir uns zunächst eine typische Waffe an, wie sie in dem Spiel verwendet wird: Das Schwert


Die Waffe : Den Anfang einer Item-Definition macht das Schlagwort "item" gepaart mit einer voranstehenden eckigen Klammer, welche am Ende der Zeile wieder geschlossen wird. Diese Klammern sind wichtig, da das Programm dadurch erkennt wo ein neuer "Abschnitt" des jeweiligen eintrages beginnt bzw. endet.
Ganz unten steht daher auch - der Slash vor dem Wort "Item" bedeutet, dass hier die Definition unseres Gegenstandes (Schwertes) abgeschlossen ist und danach das nächste Item beginnen kann.
In der Praxis sieht das dann so aus:




Den ganzen anderen Kram brauchen wir aber auch, um unser Item auch zu definieren. Gehen wir am besten reihenweise durch:
origid="1" - Die numerische ID des Gegenstandes - muss eindeutig sein (darf nicht mehrfach vorkommen)
origname="Schwert" - Der interne Name des Gegenstandes - muss eindeutig sein (darf nicht mehrfach vorkommen)
value="850" - Wert des Gegenstandes in Hellern. Unser Schwert kostet also 850 Heller, oder 85 Silberstücke oder 8,5 Dukaten
weight="80" - Das Gewicht in Unzen
image="schwert" - Der Name des verwendeten Icons
slot="weapon" - Der Ausrüstungsslot, an dem unser Charakter den Gegenstand tragen kann
prefdisp="barbarian_sword_01" - ?? Bevorzugte Darstellung im Kampf (3D-Modell) ??
dispclass="schwerter" - ?? Darstellungsart der Waffenklasse im Kampf (Animationen) ??
canuse="JKSTZAFW" - Kürzel der Charakterklassen, die das Schwert benutzen dürfen

Des Weiteren gibt es noch ein paar andere Beschreibungen, die einem Gegenstand zugeordnet sein können. Diese sind
stackable="1" - 1=Stapelbar - Mehrere der Items an einem (Inventar)platz
itemsperstack="99" - Gibt die Maximale Größe des Stapels an
magical="1" - Gegenstand ist magisch
personal="1" - Ist ein "persönlicher" Gegenstand, d.H. er kann nicht verkauft oder weggeworfen werden (Beispiel Zauberstab)
twohanded="1" - Waffe ist zweihändig (kein Schild in der anderen Hand möglich)


Weiter zum nächsten Abschnitt:



Hier werden dem Schwert die Waffenwerte zugeordnet. Man beachte, dass am Ende der ZEile /> steht - das schliesst die Definition von "weapon".
Alternativ könnte es auch so da stehen:




Nun zum Inhalt:

weapon amount="1W6+4" - Der Schaden den die Waffe macht. Hier wird ein 6er Würfel (1W6) + 4 Schadenspunkte verwendet
skill="schwerter" - Das Talent, mit dem die Waffe geführt wird
bf="2" - Der Bruchfaktor der Waffe
kkfrom="14" - Körperkraftzuschlag - Beginnt bei 14
kkevery="4" /> - Körperkraftzuschlag-Bonus - Alle 4 Punkte Körperkraft über dem Zuschlagswert ein Schadenspunkt

Weiterhin gibt es noch:

at="0" - Attacke-Modifikator beim benutzen der Waffe
pa="0" - Parade Modifikator beim Benutzen der Waffe

Da das Schwert AT/PA nicht beeinflusst kann man diese Angaben auch weglassen.

Der nächste Abschnitt ist ein wenig komplizierter, da er "Verweise" zu anderen Gegenständen und Effekten enthält. Hier ein Versuch der Erklärung:
Zunächst einmal werden dem Schwert hier "Effekte" zugewiesen, auch dieser Abschnitt wird wieder mit Klammern eingeleitet und beendet ( ).

Code: Alles auswählen

   	    	 Einleitung für Effekte des Gegenstandes
   		  Hier wird dem Gegenstand eine Datenvariable (on="data") für die Verwendung (type="usestype") von Gift (which="poison") zugewiesen, die einen maxilmalwert von 3 hat (mod="3")
   		     Bewirkt, dass wenn Gift aufgetragen wird (on="applypoison") die Datenvariable für Giftbenutzung geändert wird (type="modifyuses") und zwar werden 3 Benutzungen hinzugefügt (mod="3").
   	     	 Beenden der Effekt-Sparte
Was bedeutet das im Klartext? Dieser Abschnitt ermöglicht es auf einem Gegenstand Gift aufzutragen. Die erste Zeile mit "effect on="data" gibt sozusagen den Giftbehälter des Gegenstandes vor, während die zweite Zeile diesen Behälter beim Verwenden von Giften füllt.
"Verdammt, Rheyna hat eine Hose verloren!"

Turtles kleiner Feature Mod - V1250 Version2
-aktuell auf Eis gelegt da das RL mich eingholt hat-
-vorraussichtlich (größeres) Update im November-

#2
Um den Zusammenhang komplett zu verstehen sollten wir uns auch noch ein Gift und seine Wirkung ansehen. Beginnen wir mit dem Gift, auch in der Datei "items2b.xml" zu finden: Das Expurgicum


Das Gift: Die erste Zeile sollte nun jedem klar sein. Also direkt zu dem Abschnitt :

Wenn wir ein Gift verwenden möchten, wählen wir es aus dem Inventar und klicken auf den Button "vergiften". Dabei öffnet sich das Auswahlfenster und wir suchen die zu vergiftende Waffe aus.
Anschliessend ist das Gift weg und die Waffe ist vergiftet. Im XML-Code sieht das dann so aus:


Beim Vergiften (on="poison") werden nur Gegenstände zur Auswahl gezeigt (type="chooseitem") , die das Attribut zum vergiften (which="applypoison") haben. Siehe auch unser Schwert (effect on="applypoison"). Der verwendete Effekt des Giftes (spell="expurgicum") wird dann beim bestätigen auf den Gegenstand "gelegt".


Beim Vergiften (on="poison") wird der Gegenstand (das Gift) verbraucht (type="consume") - Damit verschwindet das Gift aus dem Inventar nach
Benutzung.

Eigentlich ganz einfach, oder? Aber was ist mit dem Gifteffekt, den unser Schwert nach dem Vergiften hat? Den finden wir in der Datei "effects.xml" unter dem Namen "Poison_Expurgicum".

Der Effekt:

Code: Alles auswählen

	
		poison
		4W6+1
		poison
	
Das
ist der Effekt, der auf den Gegner wirkt sobald dieser unser vergiftetes Schwert zu spüren bekommt. Nehmen wir uns das mal vor:

intname="poison_expurgicum"
- Interner Name des Effekts. Dass hier "poison_" vor unserem Effektnamen steht ist wichtig, da dieser "Vorname" vom Programm erwartet wird wenn die Funktion vom Gift eintritt.

duration="0" - Dauer des Effekts - hier ist er 0 , da der Effekt sofort eintreten soll.
battle="true" - Besagt, dass der Effekt im Kampf eintreten kann.

poison - Definition des Effekttyps (Effekte können auch zaubersprüche, Krankheiten oder sonstwas sein)
4W6+1 - Schaden, der beim Anwenden des Effektes errechnet wird.
poison - Schadenstyp


Zu guter letzt:
Damit das Schwert auch Schwert heisst muss es in der Datei "de.xml" passende Einträge dafür geben. Diese sehen so aus :

Der Text:

Code: Alles auswählen

  
Schwert
		Schwerter
 	Das Schwert gilt als Inbild rondrianischer Tugenden, was nicht nur der geraden und schlanken Klinge gedankt ist, sondern auch dem Ruhme seiner Träger, zu denen die achtbarsten Persönlichkeiten zählen.
item_1_sin - Bezeichung für ein einzelnes Item Item mit ID-Nummer 1 (sin = Singular)
item_1_plu - Bezeichnung für Mehrere Items mit ID-Nummer 1 (plu = Plural)
item_1_desc - Beschreibung des Items in der Textbox


Das war es für's erste. Wir haben uns nun eine Waffe und deren Werte, Effekte und alles was zu diesem dazugehört angeschaut.
Zwar kann man jeder Waffe (oder jedem Gegenstand) auch noch diverse andere Effekte geben, wie beispielsweise dass die Magieresistenz erhöht wird oder sie Talentproben erleichtert. Aber dieses zusätzlich aufzuführen durfte den Rahmen sprengen. Wenn es euch gefällt machen wir vielleicht im nächsten Guide weiter ...

Liebe Grüße, Turtle

PS: Eines noch:
Habe diesen "Guide" auch als gut lesbare XML-Datei angehängt. Damit ist dann auch die Darstellung etwas angenehmer.
Bei Fragen zu XML-Dateien oder Dinge wie "Wie kann ich den Besen zu einem Nudelholz machen?" bitte einen eigenen Thread eröffnen, jede Frage zu einem so umfangreichen Thema sollte besser separat abgehandelt werden. Danke.
Zuletzt geändert von Turtle am 08. Sep 2013, 23:15, insgesamt 1-mal geändert.
"Verdammt, Rheyna hat eine Hose verloren!"

Turtles kleiner Feature Mod - V1250 Version2
-aktuell auf Eis gelegt da das RL mich eingholt hat-
-vorraussichtlich (größeres) Update im November-
Dateianhänge
DSA_Modding_Waffen_txt.xml.zip
(4.35 KiB) 351-mal heruntergeladen

#5
Ich vermute das du irgendwo ein ", /, oder > vergessen hast. Das ist aber natürlich schwer zu sagen ohne die geänderten Stellen zu sehen. Kannst du das eventuell hier einmal per copy and paste für uns "sichtbar" bereitstellen?

Generell würde ich sagen, mach dir noch nicht die Mühe. Derzeit werden die Dateien bei einem Patch überschrieben. Warte bis der 1.32 Patch rauskommt, dann geht das nicht nur einfacher, sondern es bleibt sogar bestehen auch über folgende Patches hinaus. Sollten auch nur noch "ein paar Tage" (Angaben ohne Gewähr!!!) sein.

#7
Mir wäre es lieber du könntest einfach die Zeilen die du geändert hast hier per copy and paste und ohne download verfügbar machen. Man nenne mich paranoid, aber nachdem ich als eine Art Community Manager in einem anderen Spiel über 10000 "gehackte" Benutzer im Jahr gesehen habe die darüber aufgeklärt werden mussten, dass es eben passieren kann wenn man x-beliebige Dinge im Internet herunterlädt, fühle ich mich deutlich ungut dieses Risiko selbst einzugehen.

#10
Ich hab mir zum Vergleich meine Original-items2b.xml angesehen ...

"Bolzen" und "Pfeil" sind bei mir jeweils type="9" - was ist der Unterschied zu type="0"?

Außerdem seh ich, daß dem Zauberstab das "twohanded" genommen wurde. Ehrlich gesagt seh ich den Sinn darin nicht.
Zauberer tragen den gewöhnlich einhändig und können auch einhändig damit zaubern und ggfs. zuschlagen.
ABER - er muß beidhändig zum Zielen festgehalten werden, wenn aus dem Stab ein Flammen- oder Blitzstrahl "abgefeuert" wird.
Sprich, entsprechende Sprüche sind nicht sinnvoll einsetzbar, wenn zum einhändig modifizierten Stab ein Schild getragen wird.

Ähnliches gilt für Stabkampf. Viele Kampfaktionen sind mit einem einhändig geführten Stab nicht ausführbar.
Spiel:
Schicksalsklinge De (Steam)
Automatische Updates aktiviert
Spielversion: Version 1.31f, 131106-2230 Steam

#12
Hi zusammen,

eine Frage, besonders an jene, die schon ein wenig mit dem Waffen- und Gegenstands-Modding herumprobiert haben: Ist es problemlos möglich, neue Gegenstände/Waffen einzufügen? Bzw. was genau ist dabei zu beachten? Kann ich einfach einen bestehenden Gegenstand kopieren, die ORIGID auf einen eindeutigen (bisher nicht verwendeten Wert) abändern, das Item in die Händlerlisten schreiben und dann taucht es dort auf?

Noch eine Ergänzung zur Anleitung:
[Quote=Turtle]origname="Schwert" - Der interne Name des Gegenstandes - muss eindeutig sein (darf nicht mehrfach vorkommen)[/quote]
Das ist nicht nötig. Es gibt diverse Gegenstände die denselben "Origname" haben (z.B. alle Waffen, die es mundan und magisch gibt). Dieser Name ist nur Beiwerk - er kann beliebig umgeschrieben werden (es ist im Übrigen auch nicht der Name, der im InGame-Menü auftaucht, wenn man die Waffe anwählt). Das Spiel nutzt andernorts offenbar nur die ORIGID - diese muss in der Tat eindeutig sein.

Grüße
Tsadrosch
Meine Mod-Kollektion:
Download: Tsadroschs Ausrüstungskammer (Version: 7 / Release: 02.03.2014)
Download: Tsadroschs Heldentafel (Version: 5 / Release: 03.03.2014)
Download: Tsadroschs und Lexis Räuberlager (Version: 0 / Release: Ausstehend)

#13
Ein klares "Jain". Du kannst neue Waffen/Gegenstände einfügen, du kannst aber (noch) nicht eigene Bilder oder gar Waffenkategorieanimationen einbauen (wenn ich sage "nicht", dann meine ich über die derzeit gängigen Mittel, also ohne CLI/AssetBundles).
So wie du es beschrieben hast sollte es relativ problemlos funktionieren.
Antworten

Zurück zu „Modding“

cron