Ja, es ist im Grunde ein kleines Script bzw. nur ein paar Scriptzeilen, die an den richtigen Stellen eingefügt werden müssen.
Ich versuche dir mal Modding leicht verständlich zu erklären:
Man hat ein Spiel zu dem bestimmte Dateien gehören (bei COD2 sind das die IWD-Dateien im main-Ordner mit der Bezeichnung iw_00.iwd - iw_15.iwd und dazu noch die ganzen localized-iwds.)
In jeder dieser IWD befinden sich Ordner und Unterordner mit diversen Dateien, die Scripte enthalten.
Angenommen in einer dieser Dateien steht ein Script, das folgendes macht:
"WENN Spieler X jemanden tödlich trifft, DANN zähle bei Spieler X einen Punkt dazu"
Würde man an diesem Script nichts ändern, würde jeder Spieler immer nur einen Trefferpunkt gewertet bekommen. Nun sagt sich ein Modder: Das ist doch langweilig, ich will, dass die Spieler nach einem Treffer "Juhu, ich habe getroffen" schreien.
Um diese Änderung zu machen, muss der Modder nun diese Original-Scriptdatei komplett herauskopieren (also nicht das Original löschen). Die Kopie nimmt er dann und er verändert das Script wie folgt:
"WENN Spieler X jemanden tödlich trifft, DANN zähle bei Spieler X einen Punkt dazu und SAGE "Juhu, ich habe getroffen"
Dieses neue Script muss der Modder anschließend packen (= er macht eine eigenständige IWD-Datei daraus, die die gleichen Pfade und Dateinamen wie die Originaldatei enthält). Diese neue IWD-Datei wird dann auf den Server kopiert. Der Server weiß automatisch, dass die geänderte Datei Vorrang hat und die unveränderte Originaldatei nicht mehr gelesen werden soll. Zusätzlich weiß der Server, dass die Spieler diese Änderungsinformation auch brauchen. Somit lädt jeder Spieler (=Client), der den Server besucht, diese geänderte Datei herunter. Da anschließend auch der Client diese Änderung kennt, schreien nun alle Spieler Juhu, wenn sie einen Treffer landen.
Ganz kurz gesagt:
Modden = Original-Script-Datei suchen, dieses Script erweitern und daraus dann eine eigene IWD erstellen.
Anmerkung:
In Wirklichkeit ist es natürlich viel komplizierter, da die Scripte über mehrere Scripte voneinander abhängig sind, Variablen neu definiert werden müssen und alle erdenklichen Sonderfälle mitberücksichtigt werden müssen (z.B. habe ich in dem obigen "Script" nicht berücksichtig, was passieren soll, wenn jemand seinen Team-Kameraden abballert. Dort sollte es dann wohl eher einen Punktabzug geben und der Spieler müsste dann "Entschuldigung" sagen).
cu Mike