Tipps zum XML-Modding: Stellschrauben und Möglichkeiten

#1
Auf Firefox Wunsch hin, rege ich hier noch einmal öffentlich als Feature-Request an, dass seitens der Entwickler (oder gut informierter User) mal alle Stellschrauben des Moddings (besonders des Gegenstands- und Effektmoddings) zusammengetragen werden. Das Problem ist oft, dass man gar nicht richtig weiß, was nun möglich ist und was nicht.
Da stellen sich dann Fragen wie: Was für "type"-Einträge funktionieren denn? Kann ich dies oder jenes irgendwie verändern? Wie baue ich einen Effekt, der dies oder jenes macht?
Außerdem kann man dann hier gleich formulieren, welche weiteren Änderungsmöglichkeiten nutzbar gemacht werden sollen.

Um hier mal die Basis für solche Vorhaben zu legen, liste ich mal alle Typen auf, die mir bisher untergekommen sind bzw. die ich im Rahmen meiner Waffenkammer getestet habe.

[spoiler]
Mögliche On-Einträge (Beispielsyntax: )
analues = Ist erfüllt, wenn der Zauber Analys auf den Gegenstand gesprochen wurde
applypoison = Ist benötigt, wenn ein Gift auf einen Gegenstand aufgetragen wurde (z.B. zur Festsetzung der Anzahl der verwendbaren Giftdosen nötig)
carry = Ist erfüllt, wenn Gegenstand im Inventar liegt
data = ?
drink = Ist erfüllt, wenn der Gegenstand getrunken wird
eat = Ist erfüllt, wenn der Gegenstand getrunken wird
equip = Ist erfüllt, wenn Gegenstand in einen der Charakterslots ausgerüstet wurde
expire = Ist erfüllt, wenn eine zuvor festgelegte Zeit abgelaufen ist (z.B. wenn die Brenndauer einer entzündeten Laterne ausgelaufen ist)
inflame = Ist erfüllt, wenn ein Gegenstand entzündet wurde (z.B. durch Zunderkästchen)
poison = ?
read = Ist erfüllt, wenn ein Gegenstand gelesen wurde
readsuccess = ?
refill = ?
refilloil = ?
sharpen = Ist erfüllt, wenn Schärfen-Fähigkeit ausgelöst wird
sharpenthis = Ist erfüllt, wenn Schärfen-Fähigkeit auf den Gegenstand ausgeübt wird
spawn = ?
use = Ist erfüllt, wenn Nutzung des Gegenstands ausgelöst wird

Manipulierbare "Type"-Einträge (Beispielsyntax: )
INI = Senkt oder erhöht die Initiative
BP = Senkt oder erhöht die Bewegungspunkte
AT = Senkt oder erhöht die allgemeine AT (alle Nahkampf- und Fernkampfangriffswerte)
PA = Senkt oder erhöht die allgemeine PA (alle Nahkampfparadewerte)
RS = Erhöht den Rüstungsschutz
FK = Erhöht den FK-Basiswert (ist aber etwas Buggy: Negative Werte erhöhen den Wert, positive senken ihn; Zudem wird der Bonus nicht bei den Waffenwerten angezeigt, jedoch in der Konsole im Kampf dennoch genutzt - bitte die Anzeige im Charaktermenü korrekt gestalten)
oppFK = Erschwert oder erleichtert die Fernkampfangriffe der Gegner
oppAT = Erschwert oder erleichtert die Attacken der Gegner
oppPA = Erschwert oder erleichtert die Paraden der Gegner
LE = Senkt oder erhöht das Lebenspunktemaximum
cLE = Senkt oder erhöht die gegenwärtigen Lebenspunkte (bis maximal zum Maximum)
AE = Senkt oder erhöht das Astralenergiemaximum
cAE = Senkt oder erhöht die gegenwärtigen Astralpunkte (bis maximal zum Maximum)
MR = Senkt oder erhöht die Magieresistenz
MU = Senkt oder erhöht die gute Eigenschaft "Mut"
KL = Senkt oder erhöht die gute Eigenschaft "Klugheit"
IN = Senkt oder erhöht die gute Eigenschaft "Intuition"
CH = Senkt oder erhöht die gute Eigenschaft "Charisma"
GE = Senkt oder erhöht die gute Eigenschaft "Gewandtheit"
FF = Senkt oder erhöht die gute Eigenschaft "Fingerfertigkeit"
KK = Senkt oder erhöht die gute Eigenschaft "Körperkraft"
AG = Senkt oder erhöht die schlechte Eigenschaft "Aberglaube"
HA = Senkt oder erhöht die schlechte Eigenschaft "Höhenangst"
RA = Senkt oder erhöht die schlechte Eigenschaft "Raumangst"
GG = Senkt oder erhöht die schlechte Eigenschaft "Goldgier"
TA = Senkt oder erhöht die schlechte Eigenschaft "Totenangst"
NG = Senkt oder erhöht die schlechte Eigenschaft "Neugier"
JZ = Senkt oder erhöht die schlechte Eigenschaft "Jähzorn"
regeneratele = Modifiziert die LE-Regenerationsrate
protectcold = Modifiziert den Rüstungsschutz gegen Kälte
protectwet = Modifiziert den Rüstungsschutz gegen Nässe
checkbonus = Modifiziert ein bestimmtes Talent (mit which="X" deklariert) des jeweiligen Helden mit einem Bonus
checkbonusap = Modifiziert ein bestimmtes Talent (mit which="X" deklariert) der ganzen Gruppe mit einem Bonus

Boni und Mali für Talente (Beispielsyntax: ):
Generell: Die Einrichtung der "group" verhindert, dass ein Bonus auf dasselbe Talent doppelt angewandt wird, wenn mehrere Gegenstände dieselbe Group begünstigen. Die Group kann auch bei jedem anderen Type (siehe oben) verwendet werden.
Mögliche Einträge bei which (wählbare Talente, müssten selbst erklärend sein): abrichten, aexte, akrobatik, alchimie, altespr, betoeren, faehrtens, fahrzeuge, falschspiel, fesseln, gassenwissen, gefahrensinn, geographie, geschichte, goetterkulte, heilengift, heilenkrankh, heilenwunde, hiebwaffen, klettern, koerperb, kraeutersuche, kriegskunst, lesen, magiek, menschenk, musizieren, orientierung, pflanzenk, reiten, schaetzen, schleichen, schloesser, schusswaffen, schwerter, schwimmen, selbstbeh, sinnensch, speere, sprachen, stichwaffen, tanzen, taschendieb, tierkunde, ueberreden, verstecken, waffenlos, wildnisleben, wurfwaffen, zechen, zweihaender
[/spoiler]
"Types", Stellschrauben bzw. Modding-Möglichkeiten im Allgemeinen, die möglichst noch verfügbar gemacht werden sollen:
1.) TP der derzeitig ausgerüsteten Waffe sollen per Effekt direkt veränderbar sein
2.) TP aus zwei geführten "Waffen" (rechte Hand, linke Hand) sollen addiert werden (würde Zweitwaffen und zusätzlichen Pfeilschaden ermöglichen - spannende Möglichkeiten!)
3.) Der Wert "Traglastkapazität" soll direkt veränderbar sein
4.) Funktionierende Mindesteigenschaftswerte (minKK, minGE, minFF... am Besten vorsorglich für alle Eigenschaften einfügen)
5.) Klassenspezifische Effekte (entsprechender Effekt wirkt nur, wenn der Gegenstand die Bedingungen carry/equip erfüllt und von bestimmter Klasse geführt wird)
6.) BF für Rüstungen (wahrscheinlich nicht einfach einzustellen, würde wohl mehr Hintergrundarbeit bedeuten - in meinen Augen aber wichtig)
7.) Wann und in welchem Umfang (bzw. in welcher Form) kann man mit der Möglichkeit rechnen, eigene Bilder für Gegenstände einfügen zu können?
8.) Feste Erhöhungen von Talenten und Zaubern ermöglichen (nicht nur ein Bonus, sondern tatsächliche Steigerung des TaW/ZfW)
9.) Veränderbarkeit der Reisegeschwindigkeit der Gruppe - also Reisegeschwindigkeit als Effekt-Type.
10.) Die Möglichkeit dauerhafte Kosten per Effekt einzurichten - z.B. der Abzug eines bestimmten Geldbetrags an jedem Tag.

Falls jemand sonst noch Anwendungsmöglichkeiten beim Gegenstandsmodding kennt, postet es einfach, ich übernehme es dann hier oben in der Auflistung.

Grüße
Tsadrosch
Zuletzt geändert von Tsadrosch am 13. Jan 2014, 13:03, insgesamt 5-mal geändert.
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)

#2
[quote='Tsadrosch','index.php?page=Thread&postID=71237#post71237']Was für "type"-Einträge funktionieren denn?[/quote]
Ich bin mir jetzt nicht sicher, eventuell verstehe ich dich falsch, aber falls nicht wäre es erwähnenswert.
Die "möglichen Einträge" für Typ variieren und hängen von dem "on" Eintrag ab. Nicht alles was bei "on"="drink" funktioniert muss automatisch bei "on"="equip" eine, oder gar die gleiche Funktionalität besitzen.

#3
Das ist korrekt, in dem Sinne wäre auch eine vollständige Auflistung der möglichen On-Einträge sinnvoll. Vieles überschneidet sich sicher, manche Types sind aber auch auf bestimmte On-Einträge begrenzt.

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)

#4
So... ich habe mal die obige Liste um alle mir bekannten On-Einträge und alle manipulierbaren Talente ergänzt. Bei den On-Einträgen kannte ich nicht die Bedeutung von allen (die Fehlenden sind mit "?" gekennzeichnet ;) ), wäre gut, wenn da ein Programmierfuchs noch mal drüber schaut. Die Erklärungen füge ich dann oben ein.

Grüße
Tsadrosch

#5
on data: Wird verwendet, um Daten über den Gegenstand zu speichern, näher definiert über type. Derzeit einzige Anwendung ist "usestype", das gibt an, was der Wert "uses" auf dem Gegenstand bewirkt. Bei Waffen ist das meist "poison", und der Wert "mod" gibt dann die "Anzahl Giftanwendungen bei Vergiftung" an. Beispiel Säbel, on="data" type="usestype" which="poison" mod="3", das bedeutet dass ein Säbel, wenn ein Gift darauf angewendet wird, 3 "Ladungen" hat. Beim (Kukris)-Mengbilar ist "mod" zB 10 (von wegen speziell für Vergiftungen ausgelegte Waffe), bei stumpfen Hiebwaffen könnte man die Anzahl Anwendungen des Gifts zB auf 1 oder 2 reduzieren.

on poison: Wird für Gifte verwendet und fällt wie ein paar andere on-trigger in den "frei definierbaren" Bereich, dazu unten mehr.
on readsuccess: Ist ebenfalls frei definiert, und wird vom darüberliegenden "on read checkskill prereq=" sozusagen "aufgerufen". Dazu bei den "type"-Definitionen mehr
on refill: Frei definiert
on refilloil: Frei definiert
on spawn: Wird ausgelöst, wenn der Gegenstand "gespawned", also erstellt wird. Das kann zB beim öffnen einer Truhe, beim Erhalt aus einer Quest oder ähnlichem der Fall sein. Kann man zB für die Initialisierung von uses (Beispiel: Kukrismengbilar kommt bereits vergiftet mit Kukris daher, Beispiel Trinkschläuche oder -hörner, die bereits "vorbefüllt" sind), aber auch für die Initialisierung eines expire-Times (siehe Fackel) verwenden.

Die types sind wie Fujak richtig sagt stark davon abhängig, was im "on" definiert wurde, und keinesfalls jedes type macht in jedem "on" auch tatsächlich Sinn. Bei on="equip" bzw. auch bei on="carry" (soweit ich mich entsinne) kann *jedes* definierte Attribut des Charakters modifiziert werden, für eine vollständige Liste einfach mal ein Savegame aufmachen und dort unter "PlayerCharacter/attribs" nachsehen. ini müsste übrigens in Kleinbuchstaben geschrieben sein, damit es funktioniert.

Meiner Meinung nach hast du den spannenderen Bereich, nämlich die ganzen ich nenns mal "functional types" komplett ausgelassen, übersehen oder hattest bisher keinen Bedarf. Ich liste mal einige, die spannender sind, bitte unterstütz mich da beim Vervollständigen :). Generell gilt, dass "which" den Effekt genauer textuell einschränkt, während mod den Effekt numerisch genauer definiert. Die Effekte werden jeweils entsprechend des "on" ausgelöst, die spezielleren wie drink, eat und dgl. hast du ja bereits gefunden, aber wie angekündigt gibt es da auch "freie".

type modifyattr: Modifiziert das "which"-Attribut permanent, Beispiele sind die Heil- und Zaubertränke, es wäre aber auch jedes andere Attribut von MU bis AG möglich.
type spawnitem: Erstellt ein neues Item mit id "mod" im Inventar des Anwenders. Wird zB verwendet, um eine "leere Flasche" nach trinken eines Tranks zu erstellen, oder um eine brennende Fackel zu erstellen. Wichtig: Wenn es keinen freien Inventarplatz für das neue Item gibt, schlägt das derzeit ohne Fehlermeldung fehl.
type replace: Ersetzt das Item auf der selben Position durch die ItemId in "mod" und führt "on: spawn" aus. Beispiel ist das Orkdokument, es wird beim erfolgreichen Lesen durch die "lesbare" Variante ersetzt. Warum nicht für Fackeln "replace" verwenden? Stapelbarkeit.
type modifyuses: Verändert das uses-Feld des Items um mod. Je nach uses-Bedeutung (aus data usestype) kann das das Nachfüllen des Öls in der Laterne, das Auffüllen eines Wasserschlauchs oder das Vergiften einer Waffe sein - oder was dir sonst noch an "uses" einfällt.
type zechencheck: Spezial-Funktion (die man mittlerweile auch "anders" hinbekommen würde), die eine Zechenprobe ausführt, und bei Fehlschlag den Effekt "betrunken" auf den Charakter setzt.
type expire: Setzt den expires-Timeout des Items auf Jetzt + "duration"*Stunden. Anwendung zB für besagte Fackel "on spawn".
type addrecipe: Fügt das rezept "which" ins Rezeptbuch ein (muss dafür in den Globalsettings definiert sein)
type setqueststate: Setzt den Queststate der Quest "which" auf den step "mod", sofern mod größer ist als der bereits erreichte Questsstate
type modifybf: verändert den aktuellen Bruchfaktor des Items um mod, bis auf ein Minimum von "Basis-BF + 1"
type castspell: Spricht einen (beliebigen) Zauberspruch auf den Anwender, und zwar mit ZfP* "mod" und setting "mod". D.h. ein ignifaxius (böse wahl) hätte dann zB ZfP* 4 und 4W6 Schaden.
type checkskill: Würfelt eine Probe auf which mit Modifikator mod, und ruft bei erfolgreicher Probe on "prereq" auf, siehe zB das Orkdokument
type script: sollte das javascript in which ausführen.
type addeffect: Fügt den Effekt "which" auf den Charakter hinzu
type removeeffect: Entfernt Instanzen des Effekt which vom Charakter
type removeeffecttype: Entfernt maximal mod Instanzen von Effekten des Typs which vom Charakter. Typ kann zB "poison", "sickness", "badspell" und dgl. sein

Und noch der letzte type, der aber wie ich finde einer der Spannendesten (nebst addeffect und script) ist:
type chooseitem: Zeigt einen Dialog an, um ein Item auszuwählen, dass ein "on" hat, welches dem "which" entspricht. Beispiel: on refill chooseitem refilloil. Zeigt den "Wähle Item"-Dialog, bei dem alle Items angezeigt werden, die ein "on refilloil" in ihrer Effektliste haben.

Das ist auch eine wunderbare Überleitung zu den "freien" on-Werten. effect on kann eigentlich jede beliebige Zeichenkette enthalten. WENN es in der Text-Definition irgendwo einen Wert namens "inv_item" gibt, dann wird ein entsprechender Button angezeigt.

Beispiel: wir wollen eine Kräuterpresse definieren, und brauchen eine neue Funktion "pressen". Einfach einen Text-Eintrag "inv_itempressen" definieren, und einen itemeffect "on pressen chooseitem". Der Fragetext im Dialog wird dann über Text "inv_chooseitem_", also zB "Welches Kraut soll gepresst werden".

Das wird jetzt so aber noch nicht funktionieren, denn für chooseitem brauchen wir noch ein "which", das uns die Art der Auswahl der Items definiert. Wie oben schon geschrieben, kann auch dieses on frei gewählt werden, hat es keinen Texteintrag, scheint es auch nicht auf. Wir müssten jetzt also für jedes "Pressbare" Item, zB für Wirselkraut, zB einen Effekt "on krautpressen spawnitem 1177" und einen Effekt "on krautpressen consume" definieren. Dann noch beim chooseitem das "which krautpressen" dazu, und fertig ist die Wirselkraut-Presse. Durch die Kombinationsmöglichkeiten ist das System jetzt schon ein äußerst mächtiges Werkzeug, aber ich glaube, dass gewisse Dinge noch immer verbessert werden können, daher sind auch deine "Feature Requests" sehr willkommen.

Daher will ich auch gleich auf sie eingehen:

1) Ja, wäre sicher eine gute Variante
2) Schwer, da die Zweithand keine "weapon", sondern ein "shield" ist. D.h. du müsstest spezielle "Zweithand-Only"-Waffen anlegen, "jede" Waffe könnte da keinesfalls reingepackt werden, und "einfach einen zweiten Säbel" in die Hand nehmen klappt nicht. Parierwaffen wären so aber durchaus denkbar. Alternativ könnte man auch den "shield" für jede "weapon" öffnen, sobald eine Nahkampfwaffe in der "weapon"-Hand angelegt ist. Das Handling insgesamt dafür ist aber extrem schwierig, weil es da ja nicht nur um ein einfaches Addieren geht, sondern weil dann zB auch Dinge wie Patzerhandling (verliere ich dann beide oder nur eine Waffe?), Bruchtests (Was wenn die Hauptwaffe zerbrochen ist? Kann ich dann gar nicht mehr Kämpfen? Oder doch, aber nur mit reduziertem Schaden? Was wenn die Zweithandwaffe zerbrochen ist?) usw. auch noch dazukommen, also "einfach in die zweite Hand ne Waffe packen und Schaden addieren" ist nichmal ein zehntel der Miete.
3+4) Machbar
5) pfuhah. Ginge vermutlich über das "prereq" Feld.
6) Rüstungen sind derzeit nicht "zerbrechlich", den Bruchfaktor grundsätzlich vorgesehen habe ich aber schon.
7) Entweder mit der Gold oder kurz danach, in welchem Umfang verstehe ich nicht ganz, da gibts ohnehin nur "geht" oder "geht nicht"
8) Klappt an sich jetzt schon, aber nur über Dialoge. Außerdem können DurableEffects in ihrem Skript-Teil (siehe Krankheiten) auch permanenten Schaden anrichten.
9) Machbar
10) Siehe Krankheiten, ist jetzt schon problemlos mit Effects möglich.

So, hoffentlich etwas aufschlussreicher jetzt das Ganze :)

#6
Bezüglich des beidhändigen Kampfes würde ich vorschlagen spezielle Zweithandwaffen zu generieren, die einen Effekt auf die TP der Hauptwaffe haben mit entsprechend schlechteren AT/PA Abzügen um der Schwierigkeit des beidhändigen Kampfes Rechnung zu tragen.

So könnte man beispielsweise
  • einen "Parierdolch" mit 1W+1 TP und AT/PA -3/+1
  • Fackel mit 1W TP und AT/PA -3/+0
  • ein Kurzschwert und einen Langdolch mit 1W+2 TP und AT/PA -3/-1
  • einen Säbel oder eine Skraja mit 1W+3 TP und AT/PA -4/-1
  • ein Langschwert, Kriegsbeil oder Streitkolben mit 1W+4 TP und AT/PA -4/-2
  • ein Bastardschwert oder eine Orknase mit 1W+5 TP und AT/PA -5/-2
erstellen.


Hinsichtlich der Pfeile und Bolzen könnte ich mir vorstellen
  • normale Pfeile/Bolzen +0 TP Bonus auf die Fernkampfwaffe in der Haupthand
  • Brandpfeile/Bolzen +1W3 TP Feuerschaden FK -3 Preis x3 (selten)
  • Kriegspfeile/Bolzen +2 TP Preis x5 (sehr selten)
  • gehärtete Kriegspfeile/Bolzen +4 TP Preis x 10 (nur bei 1-2 Händlern)

#7
[quote='craftyfirefox','index.php?page=Thread&postID=72205#post72205']Derzeit einzige Anwendung ist "usestype", das gibt an, was der Wert "uses" auf dem Gegenstand bewirkt.[/quote]
Möp, der Zauberstab hat noch leveltype ;)

#8
Was ich noch bei den "freien on"-Werten vergessen habe: Ein entsprechender Language-String reicht da *nicht* aus, der entsprechende on-Wert muss außerdem im Bereich globalsettings/character/useactions hinzugefügt werden. Und danke Fujak für die Ergänzung :P.

@heinzi: Ja genau so meinte ich das mit den speziellen Zweithand-Waffen. Bei den Brandpfeilen den Feuerschaden hinzuzufügen müsste ich noch vorsehen, ein einfaches "addieren" geht dann halt nicht mehr.

#9
[quote='heinzi','index.php?page=Thread&postID=72247#post72247']einen "Parierdolch" mit 1W+1 TP und AT/PA -3/+1
Fackel mit 1W TP und AT/PA -3/+0
ein Kurzschwert und einen Langdolch mit 1W+2 TP und AT/PA -3/-1
einen Säbel oder eine Skraja mit 1W+3 TP und AT/PA -4/-1
ein Langschwert, Kriegsbeil oder Streitkolben mit 1W+4 TP und AT/PA -4/-2
ein Bastardschwert oder eine Orknase mit 1W+5 TP und AT/PA -5/-2[/quote]Parierwaffen kann ich mir gut und einfach vorstellen. Bei Allen Waffen, die man auch in der Haupthand führen kann, stell ich mir das etwas knifflig in der Umsetzung vor. Es könnte dann zwar ein Skraja für die linke Hand geben (ähnlich einer Linkshänder Schere ;) ), aber das wirkt irgendwie auch dämlich, wenn es unterschiedliche Skrajas gibt und die einen kann man nur links und die anderen nur rechts tragen...

#10
Ich glaube da müsste man separate Daten für das Handling einführen. Und wie schon oben gesagt: Die Sache zieht dann halt leider sehr weite Kreise und ist relativ aufwändig.

#13
dispclass ist die Anzeigeklasse der Waffe, die dem Helden in die Hand gedrückt wird, sofern keine explizite Anzeige definiert wurde. Das soll(te) verhindern, dass ein Dolch als Zweihänder dargestellt wird, sondern dass halt dann "ein Dolch" für die Darstellung verwendet wird.

#14
Hallo,

ich hätte eine wichtige Frage zu den Random-Kämpfen in der globalfights.xml. Ist es irgendwie möglich, den dortigen Zufallsbegegnungen (etwa "camp_road_1" bis "12") eine erzählerische Einleitung per Mod zukommen zu lassen? Ich würde gerne einen Text zu jeder der neuen Begegnungen in Lexis und meinem neuen Mod schreiben und diesen Text dann direkt vor dem Kopf ausgeben lassen - so dass man eben weiß, wie es zu der jeweiligen Kampfsituation kommt. Ist das möglich? Wenn nicht, kann man das möglich machen?

Etwas in der Art funktioniert ja derzeit bei dem Kampfevent "Orkueberfall" und "Orkueberfall2". Diese scheinen quasi auch Zufallsbegegnungen zu sein. Zwar triggern sie gezielt (als Event), aber eigentlich ungebunden (überall an Land).
Ich bräuchte bei dem Text für die Random-Kämpfe auch nicht zwingend die Möglichkeit für eine Dialogauswahl, sondern wirklich nur die Ausgabe eines Fließtextes.

Ich hoffe, irgendjemand programmieraffines kann da weiterhelfen :P

Grüße
Tsadrosch

Edit: Ich habe gerade gesehen, dass es in der globalfights.xml vor jedem Kampf den Eintrag "" gibt. Kann man damit nicht arbeiten und einen Dialog vor (und vielleicht auch einen nach dem Kampf - falls man ihn gewonnen hat) auslösen?
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)

#16
[quote='Tsadrosch','index.php?page=Thread&postID=77161#post77161']Edit: Ich habe gerade gesehen, dass es in der globalfights.xml vor jedem Kampf den Eintrag "" gibt. Kann man damit nicht arbeiten und einen Dialog vor (und vielleicht auch einen nach dem Kampf - falls man ihn gewonnen hat) auslösen?[/quote]
Ich bin mir relativ sicher, dass sich dieser Eintrag auf das Post-Fight-Script bezieht. Kann es gerade nicht prüfen, kannst ja einfach mal testweise was eintragen und dann im Tool schauen, müsste dann wie gesagt unter Post-Fight-Script stehen.
Nach meinem Kenntnisstand lässt sich Dein Vorhaben nur über ein Route-Event lösen. Wie gesagt, habe gerade weder Tool noch die XMLs zur Verfügung, und aus dem Kopf bin ich mir nicht ganz sicher, aber ich glaube, Du kannst beim Route Event auch ein Script definieren. Wenn Du Dir einen Dialog sparen willst und wirklich nur ein Textfenster haben willst, könntest Du eventuell mit

showMessage("Tsadrosch hat Euch einen Kampf beschert...");
startBattle("Tsadroschs_Fight");

zum Ziel kommen. Aber vermutlich wären die Textfenster dann übereinander (also Deins und das "Auf in den Kampf!")
Bild

#18
[Quote=Lexi]bei humanoiden Gegnern hängen die Tp ja auch von der Waffe ab. [/quote]Theoretisch ja - praktisch derzeit leider nein :) Hatte ich auch schon mal vor zwei Monaten "bekrittelt", dass da eine waffenabhängige Steuerung sinniger und modfreundlicher wäre. Aber sehr wahrscheinlich widerspricht es sehr dem derzeitigen Aufbau der Gegnerstruktur in der "Monster.xml". Da werden ja einfach nur die Werte fix gesteuert. Auch TP/KK-Werte oder die Basiswerte zur Berechnung der AT/PA werden nicht mit eingeplant.

[Quote=Lexi]Müsste man hier für die einzelnen Waffen eigene Gegner erstellen oder würde es eine Möglichkeit geben den humanoiden Gegnern vor dem Kampf z.b.Randommäßig eine Waffe zu würfeln (getrennt für Nah und Fernkampf) und dementsprechend die At/pa und Tp anzupassen?[/quote]Es gibt sie derzeit nicht - selbstredend wäre diese Funktion aber schön. Bei Skyrim (ich weiß, ich weiß, wir sind hier nicht in einer Produktionsgröße eines Skyrims :P ) ist es so, dass man Container definieren kann, in denen bestimmte Waffen und Ausrüstungsgegenstände sind. Diese Container gibt man dann beliebigen Feinden und aus denen wird dann deren konkrete Ausrüstung (und auch der spätere Loot) berechnet. Die Werte der Waffen schlagen sich dann in vollem Umfang auf die NPCs durch.
Na wie dem auch sei... ich nehme mal nicht an, dass das NPC/Gegnersystem noch große Änderungen erfährt. Wenn Chris hier vorbeischaut, kann er vielleicht ja mal was dazu sagen. Nur damit man als Modder Bescheid weiß, ob da Umstrukturierungen geplant sind, die man irgendwie berücksichtigen sollte.

[Quote=Lunatic]Ich bin mir relativ sicher, dass sich dieser Eintrag auf das Post-Fight-Script bezieht. [/quote]Alles klar, danke! Fujak sieht das auch so. Dann müssen also wenn, wohl die Route-Events ran. Schade. Muss ich mich mal genauer mit beschäftigen, wenn ich die Zeit finde.
Nur noch mal als letzter Strohhalm-Versuch: Wie wird denn das "Auf in den Kampf" gesteuert? Hardcoded? Oder kann man womöglich auf dem Weg einen selbstgeschriebenen Text dazwischen schummeln?

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)

#19
Kein dazwischenschummeln, und die Monster werden sich auch nicht mehr ändern, weil das die Monstererstellung keineswegs einfacher, sondern im Gegenteil sogar um einiges schwieriger gestalten würde, da man dann jedes Mal nachschauen müsste, was denn die Waffe in Kombination mit den Werten des Monsters für Auswirkungen hat - und das Ganze natürlich nur auf Humanoide anwendbar ist. Wie schon vor zwei Monaten gesagt, aktuell ist das System auf alles gleichermaßen anwendbar, denn für Nicht-Humanoide bräuchte ich dann trotzdem wieder das aktuelle "direkt Schaden definieren"-System, d.h. eine Hälfte der Monster hätte "Ausrüstung", die andere nicht.

Script ist tatsächlich das Post-Battle-Script, bei dem eine Variable "battleresult" auf "victory" (oder eben nicht) gesetzt wird, als Kampfergebnis.

#21
Ich gebe zu bedenken, je mehr verschiedene Gegner/Monster/Tiere es gibt desto besser für alle, weil es mehr Abwechslung bedeutet im Kampf. Vielleicht lässt sich da ja noch was realisiern auf einfache Art und Weise ohne das alles oben genannte (Nah,- Fernkampf, Waffenvergleichswert) berücksichtigt wird oder auch nur teilweise berücksichtigt wird bei der Umsetzung.
Ich will vernünftig (möglichst bugfrei :D ) spielen. Gewinnen ist auf Dauer doch irgendwie schöner als (ständig) verlieren. ;)

#22
@ Chris: Noch mal zurück zu den Zufallsevents und dem Post-Battle-Script. Wäre es denn in absehbarer Zeit möglich, für die Modder einen Pre-Battle-Script in die globalfights.xml einzubetten? Das würde nämlich sehr spannende Möglichkeiten bieten, um z.B. die Kämpfe erzählerisch einzuleiten oder womöglich sogar mit einem Dialog auszustatten. Bei den Events geht das ja derzeit schon. Aber die Random-Battles tauchen bislang sehr plötzlich und unvermittelt auf. Mit stimmigen Texten könnte man deren Erscheinen erheblich aufwerten - das wäre eben auch (Pre-Battle-Script vorausgesetzt) allein durch Modderhand möglich.

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)

#24
[quote='Lexi28','index.php?page=Thread&postID=77435#post77435']Wäre es in dem Zusammenhang auch möglich während dem nachfolgenden Dialog Heilkunde Wunden/Gift etc und Heilzauber zu unterbinden?[/quote]Während Dialogen kann man doch sowieso parallel nichts anderes tun, oder irre ich da?
[quote='Lexi28','index.php?page=Thread&postID=77435#post77435']Mit dem Post Battle Script könnte man dann auch mehrere Kämpfe hintereinander triggern ode[/quote]Ja.

#26
[Quote=Lexi]Nur noch eine kurze Frage? Wie kann ich Tavernenhinweise anlegen, damit man für dieses Event Tipps bekommt? [/quote]Du findest sie in der "de.xml". Dort sind die Gerüchteeinträge unter dem jeweiligen Stadtnamen und einer Zahl zu finden. Man erstellt sie also für jede Stadt einzeln. Z.B. "". Du musst dann, wenn du neue für eine bestimmte Stadt entwirfst, zusätzlich noch in der "globalsettings.xml" die "maxtipid" auf den neuen Höchstwert setzen.

Wenn du also in Rovamund so viele Gerüchte einbauen würdest, dass der Zähler auf "_30" steigt, müsste in der "globalsettings.xml" die "maxtipid" auch auf 30 gesetzt werden.

Ich kann das auch gerne übernehmen, dann kannst du dich auf das Event konzentrieren :) Schick mir einfach die Texte, die du als Gerüchte haben willst und sag Bescheid, in welchen Städten sie vorhanden sein sollen.

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)

#27
Kurzer Hinweis: Im aktuellen Beta-Build sind in einigen Städten Tavernentipps hinzugekommen. Wenn Ihr unnötige "Überschreibungen" durch Eure Mods vermeiden wollt, wartet also lieber noch ein bisschen. :)

Edit: Allzu lange soll es wohl nicht mehr dauern...
Zuletzt geändert von lunatic am 07. Feb 2014, 13:30, insgesamt 1-mal geändert.
Bild

#29
Hallo Chris,

da die Gold-Version offenbar ja näher rückt, fände ich es super, wenn ihr vielleicht die hier angefragten und umsetzbaren "Stellschrauben" für Modder dort noch berücksichtigt. Das würde viele neue, tolle Möglichkeiten ergeben. Ich weiß ja nicht, ob das "Modbarmachen" von irgendetwas großen Aufwand kostet oder ob ihr im Hintergrund einfach zwei, drei Begriffe definieren müsst.

Hier noch mal die Liste (auch anhand deiner obigen Antworten erstellt), was als Mod-Möglichkeiten gut wäre:
1.) Modbarkeit der "momentanen" TP als Effekt (Beispiel: ; vielleicht auch noch wahlweise mit dem Zusatz "which", z.B. nach Waffen: which="Orknase"; oder nach Skills: which="schwerter")
2.) Modbarkeit der Traglastkapazität als Effekt
3.) Modbarkeit der Reisegeschwindigkeit als Effekt
4.) Modbarkeit der AE-Regeneration ("regenerateae") als Effekt (bislang gibt es glaube ich nur "regeneratele")
5.) Modbarkeit aller Metatalente, z.B. auch des Wertes "Feilschen" (unabhängig von "Überreden", ähnlich "Kräutersuchen") oder aber prozentuale Modifizierbarkeit der Händlerpreise selbst
6.) Funktionierende Mindesteigenschaftswerte (minKK, minGE, minFF... am Besten vorsorglich für alle Eigenschaften einfügen)
7.) BF für Rüstungen verfügbar machen / BF-Proben im Kampf bei den Rüstungen einbauen (im Zweifel im Hauptspiel erst einmal alle BF der Rüstungen auf 0 setzen)
8.) Bilder-Modding-Funktion für Gegenstände, Charaktere etc. (letztlich wohl nur DDSTEX-Konverter als Tool nötig)
9.) Optionaler Marker bei Gegenständen (wie z.B. "OwnerFix=1") der die Weitergabe des jeweiligen Gegenstands an andere Helden und auch das Wegwerfen unmöglich macht
10.) Pre-Battle-Script (um z.B. bei Bedarf alle Kämpfe möglichst leicht erzählerisch "einleiten" zu können)

Grüße
Tsadrosch
Zuletzt geändert von Tsadrosch am 11. Feb 2014, 12:30, insgesamt 3-mal geändert.
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)

#30
Bis auf regenerateae ist das leider alles vergleichsweise aufwändig einzubauen, ich glaube also nicht, dass es diese Features in die Gold schaffen werden. Ich kann sie aber dennoch im Auge behalten, da die Wartung der Schicksalsklinge auch nach der Gold-Edition bis auf weiteres fortgesetzt werden wird.
Antworten

Zurück zu „Modding“