[Modding] Modding-Tutorials

Arren

Senior Member
Registriert
28.04.2009
Beiträge
421
Heiho Leute!

Ich kann gar nicht genug loben, was ihr ihr alles schafft, vor allem nach so langer zeit, seit der veröffentlichung von BG, es scheint nicht zu sterben(was super ist!).

Ich wollte mir mal ansehen, wie das Modden und erstellen neuer Gebiete/Gegenstände/NCS und wat weiß ich so funktiniert, habe aber keine/keine vernünftigen Tutorials zur Programmierung mit WeiDu/Modding für BG(2) gefunden. Deswegen wollt ich euch fragen, ob ihr mir nicht einige Tutorials empfehlen könntent oder mir sagen, wie ihr halt moddet und was man dafür braucht und so.
Ist wahrscheinlich schön viel um was ich da bitte, aber ich dachte, fragen kostet nichts^^

Vielen dank im Vorraus!

MfG,

Arren
 

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
Nö, so viel ist das gar nicht. Im Spellhold-Forum gibt es eine umfangreiche Sammlung an Tutorials, zwar auf Englisch, aber dafür werden keine Wünsche offen gelassen: Guckstu hier!

Für einen generellen Einstieg auf Deutsch, um mal überhaupt ein Gefühl für alles zu kriegen, empfehle ich persönlich das Tutorial von Maus (unter dem Punkt Tutorial), ohne das es Breagar nicht geben würde.

Dann braucht man die IESDP, die wohl größte Datenbank, was Infinity Games angeht: Trigger, Aktionen und alles, was man wissen muss ist hier gelistet.

Und wenn du dich dann noch mit der Community gut stellst, dann fehlt nur noch Schweiß, Hornhaut auf den Fingerkuppen, Fantasie und, wenigstens in meinem Fall, kurze Wege zur Kaffeemaschine und zum Zigarettenautomaten. ;)
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
So fangen wir mal an. ;)
Erste Station ist das IESDP, hier findest du nützliche Informationen Rund um die Formate, Trigger, Identifiers, Actions, etc. der Infinity Spiele. ;)
Nächste Station wäre die Weidu Doc, welche das Coding von Dialogen, Tp2 Dateien und Scripts beleuchtet.
Dann solltest du bei SHS mal im Tutorial Forum vorbeischaun, hier finden sich einige gute Anleitungen. (Im Modding Index sind die wichtigsten Tutorials augelistet, auch aus anderen Foren...)
Bei den Rosenranken, gibt es auch eine deutsche Tutorialsektion...
Wenn du anfängst zu Coden solltest du dir ein Community Präfix geben lassen, dass kannst du in diesem Thread bei blackwyrmlair machen. (Wenn du dieses in deinen Mods verwendest ist es einfacher zu lokalisieren, dass es dein mod ist, falls Probleme auftauchen. ;))

Was ich dir aber noch raten kann ist, einfach mal die tp2, d und baf Dateien der Mods anzuschaun und versuchen sie zu verstehen, das hat mir letztes Jahr sehr geholfen und so bin ich dazu gekommen.
Wenn du irgendwelche Fragen hast, stell sie einfach hier, ich und sicher ein paar andere werden dir sicher gerne helfen. (Wobei ich von Areaerstellung noch nicht den leisesten Schimmer habe, beim Rest kann ich vielleicht dienlich sein...)

€dith: Man war Asci wieder schneller, die Programmierung von seinem Breagar ist übrigens meiner Meinung nach ziemlich vorbildlich und leicht zu verstehen. ;)

€dith2: Ach ja nützliche Tools findest du zB bei TeamBG und NearInifinity ist auch nicht zu verachten. ;)
 
Zuletzt bearbeitet:

Arren

Senior Member
Registriert
28.04.2009
Beiträge
421
Cool, vielen Dank!
Dann werd ich mich mal in die Tutorials und datenbanken reinlesen...
Ist `ne ganz schöne Menge^^.
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Das es wenig werden würde hat keiner behauptet. :D
Das ganze braucht nun etwas Einarbeitungszeit und danach noch viel mehr Zeit wenn man nen richtig guten Mod hinkriegen will...
Darf man fragen was du vorhast uns irgendwann im Jahr 2xxx vorzusetzen? :D
 

Arren

Senior Member
Registriert
28.04.2009
Beiträge
421
Fragen darf man, aber ob dir die Antwort gefällt:fies:...
Als erstes wollt ich `n alternatives Ende einfügen, dann das Spiel nach dem Ende noch weiterlaufen lassen, während des Spiels eine Entführung des HC einfügen, wo dann die restlichen Charaktere ihn befreien müssen, dazu noch die Möglichkeit in einem besonderen Laden durch Zauberei die Geschichten anderer berühmter Helden(like Drizzt) nachzuspielen, verschiedene zusätzliche Romanzen/Freundschaftspfade und NSCs und und und :D
Jetzt Spaß beiseite:
Ich war richtig angetan von eurer Arbeit und fühlte mich mal wieder darin bestätigt, dass man manches mit Fleiß und Schweiß schaffen kann.
Das weckte in mir die Lust, mal wieder was zu probieren.
Deswegen erkundigte ich mich nach den Tutorials.
Ich weiß aber leider aus Erfahrung, dass ich bei mir nie die begeisterung für eine Sache lange aufrecht erhalten kann(liegt wahrscheinlich an meinem Alter :shine:) aber das hindert mich nicht, es zu versuchen...
Auf jedenfall bin ich jetzt erstmal begeistert von euch und sollte die nicht sterben(die begeisterung) so würde ich, sollte ich mich durch alle Lektionen durchgekaut haben, wahrscheinlich an einem NSC und an Abenteuer/Quest wagen.
Oder habt ihr Vorschläge, was man zu Anfang modden/coden sollte?

Grüße,

Arren
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Was du brauchst hängt imho vor allem davon ab, was du erfahrungstechnisch mitbringst. Wenn du noch nie in deinem Leben einen Code gesehen hast und überhaupt keine Vorstellung davon hast, wie Programme oder Scripte auf grundlegender Basis funktionieren, dann sind natürlich die absoluten Einsteigertutorials wie das genannte von Maus oder das hier zum Beispiel recht sinnvoll.

Wenn du hingegen mit Begriffen wie Script, Scriptsprache, Scriptblock, Variable, Funktion, Rückgabewert, Condition, Trigger, Abfrage und ähnlichem Kram etwas anfangen kannst, dann wirst du vermutlich durch Codelesen und die Weidudoku sehr weit kommen.

War zumindest bei mir so. In der Weidudoku ist alles von Weidu erklärt, Beispiele findet man im Spiel oder in anderen Mods und wenn man dann zwei, drei d- und bcs-Dateien gelesen hat, dann macht das ganze schon relativ viel Sinn. Und dann ist es halt nur noch eine Sache dessen, zu wissen, was man machen will und das im erwähnten IESDP und der Weidu-Doku zu suchen. Knifflig kann es dann später werden, wenn man den Kram benutzt und Dinge nicht funktionieren, weil bestimmte Sachen anders funktionieren als man denkt. Da helfen dann Foren ziemlich weiter.

Das wirkliche Problem an Weidu ist meiner Meinung nach, dass die ganze Sache nicht so ganz logisch aufgebaut ist. Es ist auf der einen Seite sehr einfach und wenn man schon mal Code gesehen hat, eigentlich sofort lesbar, aber halt nicht durchgehend logisch. Was daran liegt, dass Weidu keine im Voraus durchgeplante Sache ist, sondern mit den Bedürfnissen und Anforderungen immer weiter ausgebaut wurde.


EDIT:
Anfangen kann man zum Beispiel mit einem einfach NPC, der der Gruppe beitritt, von jeder Banterart ein Exemplar mitbringt und ein oder zwei eigene Items hat. Wenn man bei 0 anfängt, ist man damit schon ordentlich beschäftigt.
 

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
So wie Wedge es sagt würde ich es auch machen: Erstmal einen NSC programmieren, der sich der Gruppe anschließen kann. Dann hast du nen Grundstock, was das Coden angeht: Kreaturen erschaffen, Dialoge schreiben, einfache Scrpite erstellen. so hab ich jedenfalls vor ca anderthalb Jahren angefangen.

Wenn du das hast, dann würde ich überlegen: Was fehlt in dem Spiel? ein kleiner Hinweis: Gute Drow, Halborkzombievampirdämonen oder Figuren, die erstmal alles besser machen, fehlen nicht ;) Die große Kunst bei einem guten NSC ist es, ihn von sich aus interessant zu machen und nicht mit Blendwerk wie exotischer Herkunft versuchen, auf Teufel komm raus was Neues zu erschaffen. Beispiele sind da z.B. Finch, die Gnomen-Klerikerin für BGI oder ein gewisser Zwerg, dessen Namen auszuschreiben mir die Bescheidenheit verbietet. :D

An und für sich kommen wohl (wenigstens auf dieser Seite des Atlantik) die Modifikationen am besten an, die sich nahtlos ins Spiel einfügen und das Gefühl vermitteln, schon immer dabeigewesen zu sein. Dafür sollte man die Nase mal in ein paar AD&D Bücher halten oder die Faerunpedia aufsuchen, das Wissen, das man sich dort anlesen kann, sollte vollkommen ausreichen.

Noch da? ;)

Das wichtigste, was es überhaupt gibt: Hilfe holen. Bevor du bei dem ersten Script, das nicht wunschgemäß arbeitet, alles hinwirfst, nachfragen, nachfragen, nachfragen. Es gibt immer irgendwo einen erfahreneren Modder, der gerne bereit ist, dir was zu erklären. Wenn ich da an meine ersten Gehversuche denke, die waren alles, aber nicht gut und nicht schön. :shine:
 

Arren

Senior Member
Registriert
28.04.2009
Beiträge
421
Also, ich würd von mir mal behaupten, das ich keine "vollkommene Null" bin ;).
Ich habe mich an Basic, Visual C#, Java, AHK und Visual Basic versucht, es aber leider nie weit gebracht...
Dafür weiß ich aber, was ein
Script, Scriptsprache, Scriptblock, Variable, Funktion, Rückgabewert, Condition, Trigger, Abfrage und ähnliche[r] Kram
ist.:D
Ich bin gerade dabei mich durch die(erstmal) deutschen Tuts zu wühlen, dann wollte ich gemäß euren Rates mir ein paar *.ds/*.bcs` anschauen(oaky hab ich schon ;)).
Bis jetzt scheint es eigentlich alles verständlich zu seien, aber ich hab noch keinen Code für neue Items, Quest, Gegenstände gesehen, mich dünkt, der richtig schwierige Teil kommt erst noch...
Wenn ich das Modden verstehe, werde ich mich wohl, ganz so wie es Ascalon richtig sagt, des Landes Faerun zu wenden, ich habe, um ehrlich zu seien, von AD&D wenig Ahnung, wir haben in unserer P&P-Gruppe ein anderes System gezockt...
Also, mal sehen, wie es verläuft^^



PS.:
Der gewisse Zwerg begleitet mich gerade auf meinem Abenteuer und obwohl ich eigentlich einen etwas dunkleren Charakter spielen wollte, könnt mich dieser nette Kerl glatt bekehren :up::up:
Danke auch für die ermutigung, Hilfe zu holen, ich hab immer das Gefühl ich würde zu viele "unkluge" Fragen stellen und nerven...:(
 

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
Einen "Code" für Questen als solche gibt es nicht. Eine Quest wird Schritt für Schritt programmiert, immer ein Event nach dem anderen. Einen Questgeber in einem bestimmten Gebiet erschaffen, die Questvoraussetzungen wo anders, die Abfrage, wann der Questgeber "Bestanden!" sagt, alles das sind einzelne Schritte in den verschiedenen BCS-Dateien.

Ganz einfach könnte das so aussehen:

Im Gebiet AR1 steht in der BCS:

IF
!Exists("Auftraggeber") <-- Exists überprüft, ob die Figur existiert, ! ist die Negation davon
THEN
RESPONSE #100 <- Das Script wir zu 100% durchgeführt
CreateCreature("Auftraggeber",[x.y],0) <- Erschafft die Figur am Punkt x.y der Karte mit Blickrichtung 0, also nach Süden.
END


In der BCS, der der Kreatur "Auftraggeber" zugewiesen ist, steht in der BCS:

IF
See(player1) <-- der erste Spieler, also der HC, wird gesichet
Global("Auftrag","GLOBAL",0) <-- die Globale Variable "Auftrag" steht auf 0, wurde also noch nicht gesetzt
THEN
RESPONSE #100
Dialog(player1) <-- Ein Gespräch wird gestartet.
END

IF
See(player1) <-- der erste Spieler, also der HC, wird gesichet
Global("Auftrag","GLOBAL",2) <-- die Globale Variable "Auftrag" steht auf 2THEN
RESPONSE #100
Dialog(player1) <-- Ein Gespräch wird gestartet.
END

In der Auftraggeber.D steht:

IF ~Global("Auftrag","GLOBAL",0) ~ THEN BEGIN QUESTVERGABE
SAY ~Hey Spieler, töte mal den einen da!~
IF ~~ THEN DO ~SetGlobal("Auftrag","GLOBAL",1) ~ <-- Die Variable wird auf 1 gesetzt, der Auftrag läuft
END

IF ~Global("Auftrag","GLOBAL",2) ~ THEN BEGIN QUESTEnde
SAY ~Gut gemacht!~
IF ~~ THEN DO ~SetGlobal("Auftrag","GLOBAL",3), hier kommen dann noch eventuelle Belohnungen rein~ <-- Die Variable wird auf 3 gesetzt, der Auftrag ist beendet
END

In der BCS des Zielgebietes steht:

IF
!Exists("Opfer") <-- Exists überprüft, ob die Figur existiert, ! ist die Negation davon
Global("Auftrag","GLOBAL",1) <-- Dieser Block wird nur ausgeführt, wenn der Auftrag läuft
THEN
RESPONSE #100 <- Das Script wir zu 100% durchgeführt
CreateCreature("Opfer",[x.y],0) <- Erschafft die Figur am Punkt x.y der Karte mit Blickrichtung 0, also nach Süden.
END

IF
Dead("Opfer")
THEN
RESPONSE #100
SetGlobal("Auftrag","GLOBAL",2) <-- Der Auftrag wurde ausgeführt.
END
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
"vollkommene Null" hab ich nirgends benutzt. :D Und würd ich auch nie, weil jeder fängt ja irgendwo mal an und weiß vorher nichts von der Sache.

Aber du siehst was ich meine. Wenn man eine grobe Vorstellung vom Conditional Programing und Loops hat, dann kann man weidu code einfach lesen und verstehen, ohne sich tausend Turoials durchzulesen um überhaupt erstmal in der Lage zu sein, zu entziffern, was man da vor sich hat.

Und doofe Fragen stellen ist kein Ding für das man sich schämen sollte... :D
 

Arren

Senior Member
Registriert
28.04.2009
Beiträge
421
@Wedge
Meinte ich auch nicht, war einfach von mir so verwendet, ohne jegliche tiefgehende bedeutung^^

@Ascalon
Wow, danke für die Codezeilen, ich habe jede einzelne Verstanden^^
Du machst mir Mut :D
Dann werd ich mich mal heut oder morgen dran setzen und einen NSC erschaffen...mal sehen was draus wird XD
Frage:
Kann ich einen selbst erstellten NSC/sonst was einfach und ohne probleme in meine BGT-Installation reinpacken(durch WeiDu) oder sollte ich dafür eine Clean-Install verwenden?

MfG,

Arren
 

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
Du kannst einen NSC jetzt obendrauf packen, das ist kein Problem. Allerdings würde ich eine cleane BG2 bzw. eine Vanilla-BGT-Version nehmen, damit sich nicht zu viele Codes in die Quere kommen und du am Ende Dinge mit in deine Planung einbeziehst, die es erst durch Modifikationen geben wird.

Übrigens ist der code da oben nur sehr, sehr rudimentär, alsoß bloß nicht 1:1 übernehmen ;)
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Bis jetzt scheint es eigentlich alles verständlich zu seien, aber ich hab noch keinen Code für neue Items, Quest, Gegenstände gesehen, mich dünkt, der richtig schwierige Teil kommt erst noch...

Items kann man zB mit NI oder IEEP bearbeiten...
Mit Weidu kopiert man sie meistens nur, es gibt zwar Bearbeitungsmöglichkeiten, aber dazu muss man sich mit Hexadezimal auskennen. ;)
 

Arren

Senior Member
Registriert
28.04.2009
Beiträge
421
Naja, Hexaddezimal liegt mir nicht so wircklich...
Aber was nicht ist, kann ja noch werden...zumindest theoretischXD
Frage:
Vanilla-BGT = Minimalinstallation vom BWP?
 

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
Der Agnus übertreibt, viel muss man mit den Hex-Geschichten gar nicht machen. Allerdings ist das schon eine Stufe weiter, und man sollte erstmal krabbeln lernen, bevor man gehen kann. ;)
 

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
Ich hab ja auch ein paar Creaturen Patchen lassen, da reicht NI vollkommen aus, sich die Offsets anzeigen zu lassen. :D
 
Oben