[Tutorial] Modding Teil 2 - Client- u. Server-Skripte

Sacred 2 Modding Forum.
Hier findet Ihr alles Rund um das Thema Sacred 2 Mods.
Modder können hier Ihre Mods anpreisen und zum Download bereit stellen.

Moderators: XiDragon, BeAFrog

[Tutorial] Modding Teil 2 - Client- u. Server-Skripte

Postby Copernicus on 28. Oct 2008, 03:12

Es empfiehlt sich, die vorherigen Parts gelesen zu haben! [LINK]

ICH HAFTE NICHT FÜR DURCH MODDING ENTSTANDENE SCHÄDEN AN EUREM SPIEL! MODDING KANN DIE SPIELBARKEIT UND DIE MÖGLICHKEIT ZU PATCHEN BEEINTRÄCHTIGEN!



Nachdem wir uns im letzten Teil mit der grundlegenden Struktur und der Autoexec auseinander gesetzt haben und die Skripte im Scripts-Ordner näher betrachtet haben, wollen wir nun ein wenig weiter in den Skripten stöbern, die sich in den Unterordnern "Client", "Server" und "Shared" befinden. Zu erst werde ich dabei die clientseitigen Skripte abarbeiten, später dann die serverseitigen Skripte und abschließend die beidseitigen Skripte.
Diese Datei soll nicht die Skripte großartig erklären, sondern viel mehr eine Übersicht über das geben, was vorhanden ist!



1 - Clientseitige Skriptdateien, die behandelt werden

Ich werde alle Skriptdateien, die in der Autoexec dem Client alleine zugeordnet werden und nicht schon im vorigen Part angesprochen wurden, hier kurz vorstellen. Genau genommen sind das also:

  • client/surface.txt
  • server/waypoints.txt
  • client/collision.txt
  • client/miniType.txt
  • client/patches.txt
  • client/soundprofile.txt
  • client/soundcluster.txt
  • client/animation.txt
  • client/environment.txt"
  • client/eliza.txt
  • client/poidata.txt
Sowie die Datei "soundresources.txt" aus dem Locale-Ordner (ein Unterordner des Sacred 2 Installationsverzeichnisses).



2 - Die clientseitigen Skripte

Ich werde die Skripte in der oben genannten Reihenfolge abhandeln und jeweils eine kurze Erklärung geben, was dort drin zu finden ist; erst in späteren Parts werde ich spezifisch werden und Zusammenhänge sowie Möglichkeiten zur Änderung angeben.
In der Datei "Surface.txt" befinden sich Texturzuweisungen/Shaderzuweisungen. Interessant wäre das, wenn man neue, texturierte Modelle einfügen will.
In der Datei "Waypoints.txt" befinden sich Pfade, die von NPCs (z.B. den Wachen in Dörfern und Städten) genommen werden.
In der Datei "Collision.txt" sind anscheinend jede Menge Angaben zum Clipping, aber von dieser Datei würde ich generell die Finger lassen.
In der Datei "Minitype.txt" werden die ganzen Grastypen definiert.
In der Datei "Patches.txt" werden sog. "Patches" definiert, das sind kleinere, anscheinend kachelbar "Grafikflecken"; diese Datei sollte allerdings weitestgehend uninteressant sein, da Patches erst im Editor Relevanz haben dürften.
In der Datei "Soundprofile.txt" werden Gegenständen Soundprofile zugewiesen, d.h., es wird definiert, was für Sounds die Gegenstände in welcher Situation produzieren.
In der Datei "Soundcluster.txt" werden Soundcluster definiert, die anscheinend auf ein Gebiet wirken, d.h., es wird definiert, welche Sounds in der Nähe eines Lavastromes oder eines Teiches abgespielt werden sollen. Die Funktionsweise dieser Datei ist mir nicht ganz klar.
In der Datei "Animation.txt" werden Modellen Animationen zugewiesen und diverse Parameter zu den Animationen übergeben. Die Datei ist ziemlich groß und unübersichtlich.
In der Datei "Environment.txt" werden Wassertypen erstellt, auch dies dürfte erst mit einem Mapeditor richtig interessant werden.
In der Datei "Eliza.txt" wird das Dialogsystem zwischen den NPCs konfiguriert. Diese Datei erschließt sich mir nicht ganz, ist aber fürs Modden auch mehr oder weniger irrelevant, solange man nicht gerade das Gesprächsverhalten der NPCs ändern will =D. Übrigens: Der Name "ELIZA" ist nicht zufällig gewählt worden - KLICK
In der Datei "Poidata.txt" werden so genannte "Points of Interest" und Regionen definiert, das ganze scheint recht simpel, wird aber wohl eher weniger gebraucht werden.
In der Datei "Soundresources.txt" werden Sounds definiert und als "Ressource" gespeichert.



3 - Serverseitige Skriptdateien, die behandelt werden

Ich werde alle Skriptdateien, die in der Autoexec dem Server alleine zugeordnet werden und nicht schon im vorigen Part angesprochen wurden, hier kurz vorstellen. Genau genommen sind das also:

  • server/faction.txt
  • server/weather.txt
  • server/weaponpool.txt
  • server/drop.txt
  • server/equipsets.txt
  • server/region.txt
  • server/triggervolumes.txt
  • server/quest.txt
  • server/worldobjects.txt
  • server/questscripts.txt
  • server/triggerArea.txt
  • server/spawn.txt
  • server/respawn.txt



4 - Die serverseitigen Skripte
Ich werde die Skripte in der oben genannten Reihenfolge abhandeln und jeweils eine kurze Erklärung geben, was dort drin zu finden ist; erst in späteren Parts werde ich spezifisch werden und Zusammenhänge sowie Möglichkeiten zur Änderung angeben.
In der Datei "Faction.txt werden Fraktionen und deren Verhältnisse untereinander definiert. Fraktionen steuern, wie sich NPCs untereinander und dem Spieler gegenüber verhalten.
In der Datei "Weather.txt werden Wettertypen definiert, ich muss allerdings zugeben, dass ich in der Datei bisher zum Großteil nur Bahnhof verstehe.
In der Datei "Weaponpool.txt" werden Weaponpools definiert, d.h. Gruppen, in denen bestimmte Items enthalten sind. (Das klingt momentan alles sehr verwirrend, die ganze Geschichte mit den Items wird mit der Zeit noch verwirrender; ich hoffe aber, dass ich in einem der nächsten Parts Klarheit bringen kann!)
In der Datei "Drop.txt" wird das Dropverhalten der Gegner für Items und Schrumpfköpfe konfiguriert.
In der Datei "Equipsets.txt" werden sog. "Equipsets" definiert, diese sind allerdings keinesfalls mit Rüstungssets zu vergleichen! Ein Equipset besteht immer aus einem oder mehreren Weaponpools.
In der Datei "Region.txt werden Regionen definiert, mit samt Parametern wie Maximal-/Minimal-Level der Gegner.
In der Datei "Triggervolumes.txt" werden sog. "Trigger" (Auslöser) definiert, die z.B. einen NPC spawnen lassen oder einen Teleporteffekt verursachen. Dieses Skript ist mir teilweise noch rätselhaft.
In der Datei "Quest.txt" werden Quests, Questgegner und Questitems erstellt.
In der Datei "Worldobjects.txt" werden Objekte in die Welt gesetzt. Damit ist es theoretisch möglich, Dinge in die Welt zu setzen, jedoch sehr umständlich (hat jemals jemand behauptet, modden sei etwas einfaches?)
In der Datei "Questscripts.txt" sind sämtliche Skripte zu den Quests zu finden.
In der Datei "TriggerArea.txt" werden ähnlich wie in "Triggervolumes" Auslöser erstellt. Auch diese Datei stellt mich noch vor große Probleme.
In der Datei "Spawn.txt" wird angegeben, in welcher Region welche Gegner spawnen. Hier ist ebenfalls noch einiges unklar.
In der Datei "Respawn.txt" werden die Startpunkte der einzelnen Charakterklassen definiert.



5 - Die beidseitige Skriptdateien, die behandelt werden

Ich werde alle Skriptdateien, die in der Autoexec dem Server alleine zugeordnet werden und nicht schon im vorigen Part angesprochen wurden, hier kurz vorstellen. Genau genommen sind das also:

  • shared/defines.txt
  • shared/itemtype.txt
  • shared/creatureInfo.txt
  • shared/itemInfo.txt
  • shared/staticInfo.txt
  • shared/spells.txt
  • shared/material.txt
  • shared/typification.txt
  • server/blueprint.txt
  • server/balance.txt
  • server/creatures.txt
  • server/portals.txt
  • shared/books.txt



6 - Die beidseitigen Skripte

Ich werde die Skripte in der oben genannten Reihenfolge abhandeln und jeweils eine kurze Erklärung geben, was dort drin zu finden ist; erst in späteren Parts werde ich spezifisch werden und Zusammenhänge sowie Möglichkeiten zur Änderung angeben.
In der Datei "Defines.txt" werden einige wenige Variablen zum Thema Wetter und Filme definiert.
In der Datei "Itemtype.txt" werden Itemtypen definiert, mit samt den Modellen.
In der Datei "CreatureInfo.txt" werden Kreaturen konfiguriert (z.B. Laufgeschwindigkeiten einer Kreatur).
In der Datei "StaticInfo.txt" wird nichts definiert, sie ist leer.
In der Datei "Spells.txt" werden Zaubersprüche und Fähigkeiten des Helden und der Gegner definiert.
In der Datei "Material.txt" werden Materialien, aus denen Gegenstände und sonstige Dinge der Welt geschaffen sind, definiert.
In der Datei "Typification.txt" werden sog. "Typifications" (auch "Classifications" genannt) erstellt, die bestimmten Itemtypen zugewiesen werden.
In der Datei "Blueprint.txt" werden Gegenstandsentwürfe (also nur mehr oder weniger grobe Richtlinien, wie der Gegenstand aussehen wird) erstellt, zudem werden hier Boni und Bonusgruppen definiert und zu guter Letzt auch noch die Rüstungssets ("Blueprintsets") konfiguriert.
In der Datei "Balance.txt" werden allerlei Variablen, die das Balancing regulieren sollen, gespeichert.
In der Datei "Creatures.txt" werden Kreaturen erstellt, Kreaturen Fähigkeiten zugewiesen, Boni für Kreaturen definiert und Händler in der Welt verteilt.
In der Datei "Portals.txt" werden Objekte in der Spielwelt mit einer Portalfunktion versehen.
In der Datei "Books.txt." werden Bücher definiert.


TO BE CONTINUED
Feedback erwünscht.
Copernicus
 
Posts: 11
Joined: 27. Oct 2008, 11:51
Location: Deutschland

Re: [Tutorial] Modding Teil 2 - Client- u. Server-Skripte

Postby Farthen on 9. Nov 2008, 20:35

Ich schreib hier mal was, damit es hier nicht so leer ist ;)

Ich wollte eigentlich nur sagen: Danke für die Mühe, eine kleine Übersicht über die Dateien zu erstellen und obwohl ich durch die Quest.txt noch nicht wirklich durchsteige ist es sehr interessant, die Kommentare von den Entwicklern zu lesen und worüber sie sich alles auslassen (was sie schlecht finden usw.) anscheinend habe die keinen IM oder sowas gehabt. Außerdem herrscht in den Dateien ein regelrechtes Denglisch, irgendwie sind die sich wohl nicht sicher, welche Sprache sie benutzen sollten. :lol:


Ich freue mich schon auf die nächsten Teile deines Tutorials, wenn ich was rausfinden sollte sag ich bescheid (obwohl die Wahrscheinlichkeit eher gering ist)
Farthen
 
Posts: 30
Joined: 9. Nov 2008, 20:22
Location: Lübeck

Re: [Tutorial] Modding Teil 2 - Client- u. Server-Skripte

Postby Copernicus on 10. Nov 2008, 18:34

Der nächste Teil wird noch etwas auf sich warten lassen, mein RL hält mich gerade ziemlich auf Trab :(. Aber er wird kommen, der nächste Teil!
Copernicus
 
Posts: 11
Joined: 27. Oct 2008, 11:51
Location: Deutschland

Re: [Tutorial] Modding Teil 2 - Client- u. Server-Skripte

Postby Farthen on 10. Nov 2008, 21:25

Klar, erst die Arbeit, dann das Vergnügen ;)

Lass dich nicht stressen.
Farthen
 
Posts: 30
Joined: 9. Nov 2008, 20:22
Location: Lübeck


Return to Sacred 2 Moddingecke

Who is online

Users browsing this forum: No registered users and 1 guest