[Tutorial] Stutter Debug: Wie, wann und warum?

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
Nachdem ich in letzter Zeit gefühlt eine Millionen mal dieses Thema bearbetiet hab mach ich's uns allen jetzt einfach und schreibe man generell was dazu.

Was ist ein Stuttertest?

Das Programm fügt einem oder mehreren Skripten Befehle hinzu, so dass der User feststellen kann welcher Befehlsblock gerade ausgeführt wird.

Was brauche ich für einen Stuttertest?

- Near Infinity
- Dieses Programm
- Einen ganz normalen Texteditor

Wann benutze ich den Stuttertest?

Wenn ein Charakter in einer Schleife festhängt, in der er immer und immer wieder das gleiche macht oder alle paar Meter stehen bleibt.
Wenn ich das Gefühl habe dass ein Script immer wieder und wieder das gleiche ausführt.

Wie benutze ich den Stuttertest?

0.) Ein Savegame anlegen in dem der Bug akut ist.
1.) Das Programm runterladen und ins Spieleverzeichnis entpacken.
Anmerkung jastey: für die aktuelle Version des Stutter Debug Tools sind die Schritte 2 und 3 nicht nötig.
2.) Feststellen welche Scripte die Fehler verursachen können. Das sind meist a) das Override-Script der betroffenen Figur, b) das Area-Skript oder c) die BALDUR.BCS / BALDUR25.BCS (letztere in ToB).
3.) Die Datei setup-st.tp2 mit den Texteditor öffnen und in der Zeile
Code:
COPY_EXISTING     ~########.bcs~ ~override~

die Zeichen # durch das gewünschte Script ersetzen. Z.B. so:
Code:
COPY_EXISTING     ~ACBRE.bcs~ ~override~

4.) setup-st.exe starten.
5.) Baldur's Gate starten. Nun wird jedes Mal wenn das Script gefeuert wird im Textfenster eine Meldung ausgegeben wie: Running block 0 of ACBRE.BCS

Das kann dann so aussehen:
Running block 0 of ACBRE.BCS
Running block 0 of ACBRE.BCS
Running block 0 of ACBRE.BCS
Running block 0 of ACBRE.BCS
Running block 0 of ACBRE.BCS
Running block 0 of ACBRE.BCS
Running block 0 of ACBRE.BCS

6.) Den Block und die BCS merken oder notieren, Near Infinity öffnen, die BCS heraussuchen und den jeweiligen Block herausfinden. Nun wissen wir was falsch läuft.

7.) Den jeweiligen Block mitsamt dem Namen der BCS-Datei an die richtige Stelle weiterleiten oder bei genug Erfahrung den Fehler selbst beheben.

8.) ???

9.) PROFIT!
 
Zuletzt bearbeitet von einem Moderator:

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
9.863
Sehr schöne Sache. Ich habe die stutterdebug.zip mal bei den Rosenranken hochgeladen (Sir Darian lädt sie sicher auch hier hoch, aber doppelt hält besser):

Link: [entfernt, da veraltet]
 
Zuletzt bearbeitet:

Ascalon

Senior Member
Registriert
08.04.2008
Beiträge
2.730
Mit dem unterschied dass LSTest offenbar ALLE Skripte umschreibt. Ja.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
9.863
Und auf deutsch. ;)
 

Sir Darian

Inquisitor des Helm
Registriert
01.04.2000
Beiträge
33.643
Hmmm... *grübel*

Ich werde das .zip auf dem Kerzenburg Server hochladen.

Allerdings kann ich das erst machen, wenn ich wieder vom Forumstreffen zu Hause bin.
Das Forumstreffen hat heute begonnen und dauert eine Woche.

Wird also erst nächstes Wochenende was werden.

Ist aber eine wichtige und sinnvolle Sache.
Dank Dir dafür, Ascalon! :):up:


Nachtrag:

Ich habe diesen Thread auch mal in die "Wichtigen Links in diesem Forum" eingetragen. :)
 
Zuletzt bearbeitet:

Shuv-Oohl

Senior Member
Registriert
15.06.2009
Beiträge
1.000
Ich habe diesen Thread auch mal in die "Wichtigen Links in diesem Forum" eingetragen.

Ich habe mir erlaubt, diesbezüglich einen Eintrag unter Hilfe bei Problemen zu verfassen.

Denn alles Wiktige gehört doch eigentlich zunächst mal ins Wichi, oder nicht?;)

Edith: Und nächste Woche uppen wir dann den downer für's file.
 
Zuletzt bearbeitet:

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
9.863
Eine neue Version des Stuter Debug Tools ist in den Ressourcen erhältlich (hier).
Sie patcht alle Skripte des Spiels. Das kann zwar lange dauern, dafür müsst Ihr nicht mehr wissen, welche Skripte relevant sein könnten und das Editieren der tp2 fällt weg.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
7.931
Durch die neue Version wird die Anleitung wesentlich einfacher. Die Schritte im Einzelnen hier mal noch erklärt:
1. Das Tool runterladen und in das Verzeichnis entpacken, in dem die Baldur.exe der jeweiligen Installation läuft.
2. Dann in dem Verzeichnis die *.exe-Datei ausführen (vorher muss BG beendet worden sein) und den Anweisungen folgen. Aktuell kann man da zwischen zwei Optionen auswählen. Die erste reicht für die allermeisten Fälle aus.
3. Warten bis das Programm fertig ist und mit ENTER abschließen.
4. BG starten (welche Version auch immer benutzt wird).
5. Das Savegame mit dem Problem laden.
6. Im Status-Bildschirm schauen, welche Skript-Meldung öfter erzeugt wird. Das Stottern kommt daher, dass ein Skript immer wieder ausgeführt wird ohne passendes Ergebnis.
7. Mit NI (s. erster Post) die entsprechende bcs-Datei öffnen und den Skript-Block suchen (die Nummern stehen hinten dran, weil das Programm die entsprechenden Zeilen eingebaut hat); das ist fortlaufend nummeriert (gibt da auch Skripte mit deutlich mehr als 100 Einträgen).
8. Dann wie oben beschrieben entweder selber lösen, weil man das Problem sieht, oder eben beim Autor oder hier im Forum melden.
 
Oben