Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Seite 22 von 27 « Erste ... 1115181920212223242526 ... Letzte »
Ergebnis 421 bis 440 von 538
  1. Beiträge anzeigen #421 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.246
     
    Milky-Way ist offline
    Zitat Zitat von Milky-Way Beitrag anzeigen
    Potenzieller Bug: Wenn ich nach dem "manuellen" (Bar_Hide(.)) Ausblenden der Bar das Spielmenü, Tagebuch, oder Statusbildschirm öffne und wieder schließe, dann ist die Bar wieder da. Hier scheint es eventuell einen Bug zu geben im Code, der die Bar im Menü ausblenden soll, wodurch nach Ende des Menüs auch bars wieder angezeigt werden, die vorher ausgeblendet waren. Ich nehme an, dass dieser Bug auch zur Anzeige der Bars führt, wenn ein neues Spiel gestartet oder ein Spielstand geladen wird.
    Hier ein minimal-getesteter Versuch, das Problem zu beheben:

    Angepasste Klasse _bar (damit es mitgespeichert wird, da insbesondere zum Speichern ja das Menü geöffnet und daher die Bars ausgeblendet werden)
    Code:
    class _bar {
        var int valMax;
        var int barW;
        var int v0; // zCView(h)
        var int v1; // zCView(h)
        var int autoHide;
    };
    Neue Funktionen Bar_Hide_Auto und Bar_Show_Auto (merken sich / überprüfen ob eine Bar vom AutoHide-Sys:
    Code:
    func void Bar_Hide_Auto(var int bar)
    {
        if(!Hlp_IsValidHandle(bar)) { return; };
        var _bar b; b = get(bar);
        var zCView v; v = View_Get(b.v0);
        b.autoHide = v.isOpen;
        Bar_Hide(bar);
    };
    
    func void Bar_Show_Auto(var int bar)
    {
        if(!Hlp_IsValidHandle(bar)) { return; };
        var _bar b; b = get(bar);
        if (b.autoHide) {
            b.autoHide = FALSE;
            Bar_Show(bar);
        };
    };
    Angepasste Funktion _Bar_Update (im Hook die _Auto Funktionen aufrufen):
    Code:
    func void _Bar_Update() {
        var int status; status = _Bar_PlayerStatus();
        const int SET = 0;
        if (SET != status) {
            SET = status;
            if (SET) {
                foreachHndl(_bar@, Bar_Show_Auto);
            } else {
                foreachHndl(_bar@, Bar_Hide_Auto);
            };
        };
    };
    Mögliche Probleme, die mir spontan einfallen:
    1) Speichern / Laden -- hat die Erweiterung der _bar Klasse die gewünschte Wirkung?
    2) Ist die Klasse _bar oder die Klasse Bar besser geeignet? Oder lieber eine eigene Tabelle / Liste, die separat ist?
    3) Kann während man im Menü ist anderer Code versuchen, eine Bar anzuzeigen / zu verstecken? In diesem Fall könnte man z.B. in Bar_Show und Bar_Hide ggf. den .autoHide Status überschreiben (darf dann aber diese beiden Funktionen wohl nicht aus den _Auto Funktionen heraus aufrufen.
    4) reicht v0.isOpen aus oder gibt es da einen verlässlicheren Test, den man verwenden sollte? (vielleicht allgemein eine Funktion Bar_IsOpen und / oder View_IsOpen einfügen?)
    Mit diesen Punkten kennen sich aber andere hier vermutlich deutlich besser aus als ich, daher warte ich mal ab, bevor ich da mehr Arbeit rein stecke.

    --

    Davon unabhängig: Sollte das Verstecken der Bars vielleicht optional sein für den Modder, z.B. per LeGo Initialisierung? Ich weiß nicht, ob unter manchen Bedingungen Modder vielleicht gerne die Bars angezeigt haben möchten. Oder gleich optional pro Bar einstellbar, ob sie ausgeblendet werden soll oder nicht.
    Geändert von Milky-Way (11.10.2020 um 00:08 Uhr)

  2. Beiträge anzeigen #422 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Gute Gedanken.

    Vor einer weiteren Eigenschaft der _bar-Klasse hatte ich mich beim Implementieren des automatischen Verbergens etwas gesträubt wegen Rückwärtskompatibilitäten. Wenn wir aber explizit einen (Un-)Archiver schreiben, der darauf Rücksicht nimmt, ob diese Eigenschaft im Save existiert, ist das kein großes Problem.

    Ich würde die Eigenschaft allerdings hidden nennen, die davon abhält einen manuell versteckten Balken beim Schließen von Menüs sichtbar zu machen. autohide ist evtl. etwas irreführend. Die Mechanik des automatischen Verbergens würde ich gern so beibehalten und nicht dem Modder überlassen (wie du am Ende des letzten Posts vorschlägst). Schließlich handelt es sich Balken, dem Prinzip der existierenden Standardbalken folgend. Wer Balken auch während eines Menüs o.Ä. anzeigen will, der erstellt meiner Meinung nach keine Balken, sondern etwas anderes und kann sich manuell an Views bedienen.

    Ich werde das manuelle Verstecken in LeGo-Bars, ähnlich deiner Vorschläge, heute Nachmittag korrigieren.

  3. Beiträge anzeigen #423 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Ich habe das manuelle Verstecken von LeGo-Bars nun korrigiert. Die Änderung sollte dann in der nächsten Version von LeGo erhalten sein. Wer möchte, kann bis dahin schon die Datei Bars.d mit der aktualisierten hier ersetzen.
    Nach außen hin (für den Modder) ändert sich dadurch nichts an der Handhabung. Lediglich bleiben Balken, die mit Bar_Hide vom Skripter verborgen werden auch nach Öffnen und Schließen von Menüs und über Speichern und Laden hinweg versteckt. Ansonsten ist die Mechanik unverändert. Rückwärtkompatibilität ist gewährleistet, sodass die Änderung problemlos mit alten Speicherständen zurecht kommt.




    Zitat Zitat von F a w k e s Beitrag anzeigen
    Would it be possible to add into Cursor.d support for more events
    Sorry for the late reaction. I think double clicks are quite rare in video games and as you state yourself, the implementation is a bit tricky - especially with regard to differentiating between normal and double click. I have no good idea how to implement this cleanly and intuitively, without adding to much complexity to the LeGo-Cursor package.
    For now, if you rely on it on your mod, I would suggest not to modify "internal" code of LeGo, but to rather implementing it within a custom cursor listener[1]. This is much easier to maintain and keeps the LeGo scripts intact to not collide with future LeGo updates and patches (script patches will overwrite LeGo scripts to the latest development versions to ensure proper functionality).


    [1] Add a listener and check if a left click event was received less than x ms after another one.
    Code:
    Event_Add(Cursor_Event, MyCursorListener);
    
    // ...
    
    func void MyCursorListener(var int state) {
        const int delay = 300;
        var int prevLeftClick;
        var int timer; timer = Timer();
    
        if (state == CUR_LeftClick) {
            if (prevLeftClick + delay < timer) {
                PrintS("Doubleclick!");    
            } else {
                PrintS("Leftclick!");
            };
            prevLeftClick = timer;
        };
    };

  4. Beiträge anzeigen #424 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.246
     
    Milky-Way ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Ich habe das manuelle Verstecken von LeGo-Bars nun korrigiert. Die Änderung sollte dann in der nächsten Version von LeGo erhalten sein. Wer möchte, kann bis dahin schon die Datei Bars.d mit der aktualisierten hier ersetzen.
    Nach außen hin (für den Modder) ändert sich dadurch nichts an der Handhabung. Lediglich bleiben Balken, die mit Bar_Hide vom Skripter verborgen werden auch nach Öffnen und Schließen von Menüs und über Speichern und Laden hinweg versteckt. Ansonsten ist die Mechanik unverändert. Rückwärtkompatibilität ist gewährleistet, sodass die Änderung problemlos mit alten Speicherständen zurecht kommt.
    Danke für das schnelle Einbauen (und gute Idee, sich das manuelle Verstecken zu merken statt des Auto-Versteckens)

  5. Beiträge anzeigen #425 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.781
     
    Kirides ist offline

    Probleme mit Anim8 / LoA

    Bei der Entwicklung eines Patches (hier speziell Quickloot) habe ich eine Option eingebaut Text per Animation an den Bildschirmrand zu bevördern.
    Nun hat ein Spieler festgestellt, das der Patch (speziell, nur die Animation) mit LoA nicht funktioniert.

    der zSpy wirft für jede erzeugte Animation den folgenden Stacktrace:
    Spoiler:(zum lesen bitte Text markieren)
    Code:
    01:27 Warn:  0 C: SCRIPT: Npc_IsInState(): illegal param: "LOA_GAR_60033_CORTEZWU" is NULL. .... <oGameExternal.cpp,#252>
    01:27 Warn:  0 C: SCRIPT: last parser func-name: _HOOK .... <oGameExternal.cpp,#262>
    01:28 Info:  2 U: NPC: AI:Removed NPC Cortez / LOA_MIL_6207_CORTEZ .... <oNpc.cpp,#9082>
    01:28 Warn:  0 Q: Assigning new handle 46 (ZCVIEWTEXTPRINT) to patch 'QUICKLOOT'.
    01:28 Info:  5 U: FNT: Loading Font: Ninja_QuickLoot_Font_DE.tga .... <zFonts.cpp,#196>
    01:28 Info:  4 B: FONT: Loading Font-Data: \_WORK\DATA\TEXTURES\_COMPILED\NINJA_QUICKLOOT_FONT_DE.FNT .... <zFonts.cpp,#361>
    01:28 Warn:  0 Q: Assigning new handle 47 (A8HEAD@) to patch 'QUICKLOOT'.
    01:28 Warn:  0 Q: Assigning new handle 48 (A8HEAD@) to patch 'QUICKLOOT'.
    01:28 Warn:  0 Q: Assigning new handle 49 (A8COMMAND@) to patch 'QUICKLOOT'.
    01:28 Warn:  0 Q: Assigning new handle 50 (A8COMMAND@) to patch 'QUICKLOOT'.
    01:28 Warn:  0 Q: Assigning new handle 51 (A8COMMAND@) to patch 'QUICKLOOT'.
    01:28 Fault: 0 Q: [start of stacktrace]
    01:28 Fault: 0 Q:         MEMINT_HANDLEERROR(2, 'A8 sucks. Handle 47 of instance A8HEAD@ messed up with a queue of -1981943312. I will ignore it.
    The pointer was 59696992...') +   62 bytes
    01:28 Fault: 0 Q:         MEM_WARN('A8 sucks. Handle 47 of instance A8HEAD@ messed up with a queue of -1981943312. I will ignore it.
    The pointer was 59696992...') +   21 bytes
    01:28 Fault: 0 Q:         _ANIM8_LOOP(47)                                                +  221 bytes
    01:28 Fault: 0 Q:         FOREACHHNDL(9139, _ANIM8_LOOP)                                 +  273 bytes
    01:28 Fault: 0 Q:         [UNKNOWN]                                                      +44936901 bytes
    01:28 Fault: 0 Q:         _ANIM8_FFLOOP()                                                +   15 bytes
    01:28 Fault: 0 Q:         FRAMEFUNCTIONS(4)                                              +  157 bytes
    01:28 Fault: 0 Q:         FOREACHHNDL(9139, _ANIM8_LOOP)                                 +  273 bytes
    01:28 Fault: 0 Q:         [UNKNOWN]                                                      +44936901 bytes
    01:28 Fault: 0 Q:         _FF_HOOK()                                                     +   32 bytes
    01:28 Fault: 0 Q:         MEM_CALLBYID(151782)                                           +  224 bytes
    01:28 Fault: 0 Q:         _HOOK(2031966920, 582020096, 0, 20315280, 20315148, 0, 8635020, 582020096, 2013433864) +  468 bytes
    01:28 Fault: 0 Q:         [UNKNOWN]                                                      +1006854061 bytes
    01:28 Fault: 0 Q: [end of stacktrace]


    Liegt das Problem an Mir, Ninja, LeGo oder LoA? (Das Problem tritt in anderen Modifikationen nicht auf und auch in LoA scheint es zwar sehr oft, aber nicht immer aufzutreten.

    Die Stelle in LeGo die für den Stacktrace verantwortlich ist
    Spoiler:(zum lesen bitte Text markieren)

    Code:
    func int _Anim8_Loop(var int hndl) {
        var A8Head h; h = get(hndl);
        if(!h.queue) {
            return rContinue;
        };
        
        // HIER IST h.queue negativ.
        if(h.queue < 1048576) {
            var int s; s = SB_New();
            SB ("A8 sucks. Handle ");
            SBi(hndl);
            SB (" of instance ");
            SB (_PM_InstName(getInst(hndl)));
            SB (" messed up with a queue of ");
            SBi(h.queue);
            SB (". I will ignore it.");
            SB (STR_Unescape("\n"));
            SB ("The pointer was ");
            SBi(getPtr(hndl));
            SB ("...");
            MEM_Warn(SB_ToString());
            SB_Destroy();
            return rContinue;
        };
    
        // ...
        return rContinue;
    };
    Geändert von Kirides (25.10.2020 um 12:49 Uhr)

  6. Beiträge anzeigen #426 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Spielst du LoA mit dem LAA/4GiB-Patch? Ich glaube das ist mal wieder ein Fall von übermütigen Sanity-Checks, die da überprüfen, dass der Pointer nicht negativ wird - was bei aktiviertem LAA-Flag aber vorkommt.

    Edit: Ich sehe gerade du hast den Fehler mit dem SystemPack produziert, da dürfte der LAA-Patch enthalten sein. Ich glaube du kannst den von dir markierten Block einfach löschen, das ist kein sinnvoller Check. Magst du das ausprobieren, da du ja gerade ein Setup zum Testen hast?
    Geändert von Lehona (25.10.2020 um 14:55 Uhr)

  7. Beiträge anzeigen #427 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.781
     
    Kirides ist offline
    Ich hatte zum Test einfach mal ein "h.queue >= 0 && " zur Bedingung angefügt. (Keine Ahnung warum da so genau auf "< 1048576" geprüft wurde)
    Damit haben die Animationen funktioniert.

    Wenn das "< 1048576" keine Bedeutung hat, kann der Codeblock bestimmt weg.

  8. Beiträge anzeigen #428 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.246
     
    Milky-Way ist offline
    ist das etwas, was jeder bei seiner LeGo-Version anpassen sollte, um Probleme zu vermeiden?

  9. Beiträge anzeigen #429 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.781
     
    Kirides ist offline
    Zitat Zitat von Milky-Way Beitrag anzeigen
    ist das etwas, was jeder bei seiner LeGo-Version anpassen sollte, um Probleme zu vermeiden?
    tl;dr: Ja sollte jeder anpassen. ABER nur wenn die Funktionalität sichergestellt ist. (Einfach auf ein Ikarus/LeGo update warten und die Mod-Skripte aktualisieren)


    Langer Text:

    Generell sind Ikarus & LeGo ja nur Bibliotheken für Funktionalität welche man immer wieder aktualisieren kann/sollte.
    Der Vorteil solcher Bibliotheken ist, das sie Funktionalität stellen und Komplexität abstrahieren (verstecken)

    Wenn im nachhinein Probleme festgestellt werden, wie zur heutigen Zeit, wo mehr Spieler mit dem "LargeAddressAware"-Flag spielen. (LAA-Hack, 4GB Patch, wie auch immer man es nennen mag)
    Dann können viele dieser Probleme schnell und zentral behoben werden ohne das die Funktionalität darunter leidet.

    Wenn jetzt, durch wen auch immer, sichergestellt wird, dass diese Abfrage "nutzlos" ist, wird das in LeGo übernommen und es gibt eine aktualisierte Version.

    Mod Hersteller sollten generell schauen, das sie zumindest vor dem Release ihrer Mod, gerade wenn diese schon Jahre in der Entwicklung ist,
    prüfen ob für ihre Abhängigkeiten Aktualisierungen vorhanden sind und Evaluieren ob diese Änderungen für sie relevant sind und dann ggf. die Skripte aktualisieren.

    In diesem Fall gab es in den letzten paar LeGo Versionen (und womöglich in der nächsten) Fehler-Behebungen welche
    speziell für Spieler von großen Modifikationen, "HD" Texturen und dem GD3D11 Renderer sehr wichtig sind. -> mehrere 4GB Patch "Probleme" behoben.

  10. Beiträge anzeigen #430 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.246
     
    Milky-Way ist offline
    Zitat Zitat von Kirides Beitrag anzeigen
    tl;dr: Ja sollte jeder anpassen. ABER nur wenn die Funktionalität sichergestellt ist. (Einfach auf ein Ikarus/LeGo update warten und die Mod-Skripte aktualisieren)


    Langer Text:

    Generell sind Ikarus & LeGo ja nur Bibliotheken für Funktionalität welche man immer wieder aktualisieren kann/sollte.
    Der Vorteil solcher Bibliotheken ist, das sie Funktionalität stellen und Komplexität abstrahieren (verstecken)

    Wenn im nachhinein Probleme festgestellt werden, wie zur heutigen Zeit, wo mehr Spieler mit dem "LargeAddressAware"-Flag spielen. (LAA-Hack, 4GB Patch, wie auch immer man es nennen mag)
    Dann können viele dieser Probleme schnell und zentral behoben werden ohne das die Funktionalität darunter leidet.

    Wenn jetzt, durch wen auch immer, sichergestellt wird, dass diese Abfrage "nutzlos" ist, wird das in LeGo übernommen und es gibt eine aktualisierte Version.

    Mod Hersteller sollten generell schauen, das sie zumindest vor dem Release ihrer Mod, gerade wenn diese schon Jahre in der Entwicklung ist,
    prüfen ob für ihre Abhängigkeiten Aktualisierungen vorhanden sind und Evaluieren ob diese Änderungen für sie relevant sind und dann ggf. die Skripte aktualisieren.

    In diesem Fall gab es in den letzten paar LeGo Versionen (und womöglich in der nächsten) Fehler-Behebungen welche
    speziell für Spieler von großen Modifikationen, "HD" Texturen und dem GD3D11 Renderer sehr wichtig sind. -> mehrere 4GB Patch "Probleme" behoben.
    Ja, genau deshalb frage ich hier, ob eine Änderung an dieser Stelle ein eindeutiges "Ja, sollte man so machen" ist. Unser nächster Release soll in naher Zukunft kommen und ich würde ich dann den Block
    Code:
        if(h.queue < 1048576) {
            var int s; s = SB_New();
            SB ("A8 sucks. Handle ");
            SBi(hndl);
            SB (" of instance ");
            SB (_PM_InstName(getInst(hndl)));
            SB (" messed up with a queue of ");
            SBi(h.queue);
            SB (". I will ignore it.");
            SB (STR_Unescape("\n"));
            SB ("The pointer was ");
            SBi(getPtr(hndl));
            SB ("...");
            MEM_Warn(SB_ToString());
            SB_Destroy();
            return rContinue;
        };
    rauslöschen. Richtig so? Oder ist die Variante mit
    Code:
    if(h.queue >= 0 && h.queue < 1048576)
    besser?
    Oder ist irgendein negativer Bereich (z.B. -1048576 bis 0) auch problematisch?

    Ich persönlich verstehe nicht, woher 1048576 im "Original" kommt und ob das wichtig ist.

  11. Beiträge anzeigen #431 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.781
     
    Kirides ist offline
    Zitat Zitat von Milky-Way Beitrag anzeigen
    ...
    Ich persönlich verstehe nicht, woher 1048576 im "Original" kommt und ob das wichtig ist.
    Das gleiche ist auch mein Problem, weshalb ich erstmal auf @Lehona, oder irgendjemanden der sich besser mit LeGo auskennt warte bis ich da definitiv was frickel

    "theoretisch" würde es reichen den block zu löschen.
    Ein Pointer kann überall liegen, außer bei 0 (die Abfrage ist darüber bereits getätigt durch if (!h.queue) {...} ).
    Ich kann mir nicht erklären woher 1048576 kommen soll

  12. Beiträge anzeigen #432 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Dieser Check wurde in Revision 20 von LeGo eingebaut. Ich schätze, das war eine Art Schadensbegrenzung zu der vorherigen Implementierung vom Erstellen der Liste in A8Head.queue und dem nicht-auf-Null-setzen nach Freigabe des Speichers beim Löschen. Die Zahl 1048576 (0x100000) entsprach wahrscheinlich der maximalen Größe der abgebildeten Exe im virtuellen Speicher, um die Gültigkeit des Pointers weiter einzugrenzen. Das ist zwar nur Spekulation, aber da die Liste nun auf anderem Wege erstellt wird und in A8Head-Objekten üblicherweise nicht manuell herumgepfuscht wird, denke ich auch, dass der Block obsolet ist.

    Vielleicht weiß Lehona mehr zur "Geschichte" dieser Code-Zeilen. Ansonsten lösche ich die gern aus dem LeGo Repo.

  13. Beiträge anzeigen #433 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.781
     
    Kirides ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Dieser Check wurde in Revision 20 von LeGo eingebaut. Ich schätze, das war eine Art Schadensbegrenzung zu der vorherigen Implementierung vom Erstellen der Liste in A8Head.queue und dem nicht-auf-Null-setzen nach Freigabe des Speichers beim Löschen. Die Zahl 1048576 (0x100000) entsprach wahrscheinlich der maximalen Größe der abgebildeten Exe im virtuellen Speicher, um die Gültigkeit des Pointers weiter einzugrenzen. Das ist zwar nur Spekulation, aber da die Liste nun auf anderem Wege erstellt wird und in A8Head-Objekten üblicherweise nicht manuell herumgepfuscht wird, denke ich auch, dass der Block obsolet ist.

    Vielleicht weiß Lehona mehr zur "Geschichte" dieser Code-Zeilen. Ansonsten lösche ich die gern aus dem LeGo Repo.
    Einem Nutzer eines meiner Patches (auf Ninja Basis) ist aufgefallen das die Animationen nur sporadisch funktionierten.

    Für jetzt behelfe ich mir indem ich in dem Patch die alte mittels HookDaedalusF(...) die "_Loop_Anim8" überschreibe (mit genau diesem Block rausgeschnitten)
    Wäre also echt schön wenn vielleicht in den nächsten 30 Tagen ein Update von LeGo + Ninja verfügbar wäre.

    @Milky-way würde sich bestimmt auch freuen

  14. Beiträge anzeigen #434 Zitieren
    Schwertmeister
    Registriert seit
    May 2009
    Beiträge
    924
     
    Umfi ist offline
    Hallo ich nutze die neuste LeGo Version und habe ein Problem mit den Framefunctions, es wirft mir in regelmäßigen Abständen eine AV. Meistens wenn ich das Inventar öffne/Monster loote. Es ist eigentlich ganz ein einfaches Skript, welches jede Sekunde aufgerufen wird und prüft ob es regnet. Wenn ja dann soll der Held einen Kommentar abgeben. Es funktioniert auch, aber es scheint der Grund für random crashes zu sein. Eventuell hat jemand von euch eine Idee was hier das Problem sein könnte. Danke schon mal.

    In der INIT_Global() in der Startup rufe ich folgendes auf:

    Code:
    FF_ApplyOnceExt(Backgroundtasks, 1000, -1);
    Der Code schaut wie folgt aus.

    Code:
    var int rand; 
    var string str; 
    
    
    func void Backgroundtasks()
    {
        // Regen Kommentare
        if (LastRainCommentDay != Wld_GetDay()) 
        {
            if (Wld_IsRaining())
            {
                rand = r_MinMax(1, 4);
                str = "$Regen";
                str = ConcatStrings (str, IntToString(rand));
                B_Say(hero, hero, str);
                LastRainCommentDay = Wld_GetDay();
            };
        };
    };

    Stacktrace:
    Code:
    [i] 02:55 Info:  4 B:     Open Container .... <oInventory.cpp,#1457>
    [i] 02:58 Info:  4 B:     Close Container .... <oInventory.cpp,#1602>
    [f] 02:58 Fault: 0 Q:     [start of stacktrace]
    [f] 02:58 Fault: 0 Q:             BACKGROUNDTASKS()                                              +   21 bytes
    [f] 02:58 Fault: 0 Q:             FRAMEFUNCTIONS(6)                                              +  157 bytes
    [f] 02:58 Fault: 0 Q:             FOREACHHNDL(8423, FRAMEFUNCTIONS)                              +  273 bytes
    [f] 02:58 Fault: 0 Q:             [UNKNOWN]                                                      +-1708293470 bytes
    [f] 02:58 Fault: 0 Q:             _FF_HOOK()                                                     +   32 bytes
    [f] 02:58 Fault: 0 Q:             MEM_CALLBYID(8484)                                             +  224 bytes
    [f] 02:58 Fault: 0 Q:             _HOOK(52744804, 326419728, 0, 20315280, 20315148, 0, 8635020, 326419728, 338507456) +  468 bytes
    [f] 02:58 Fault: 0 Q:             [UNKNOWN]                                                      +-1707784923 bytes
    [f] 02:58 Fault: 0 Q:     [end of stacktrace]
    [f] 02:58 Fault: 0 Q:     Exception handler was invoked. Ikarus tried to print a Daedalus-Stacktrace to zSpy. Gothic will now crash and probably give you a stacktrace of its own.
    [i] 02:58 Info:  5 X:     Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
    [i] 02:58 Info:  5 X:     Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
    [i] 03:00 Info:  5 C:     Shutting down MSS .... <zSndMss.cpp,#629>
    [i] 03:00 Info:  5 X:     EmergencyExit: Releasing all DirectX-Objects ... .... <zRndD3D_Render.cpp,#283>
    [i] 03:00 Info:  5 X:     EmergencyExit: D3DXUninitialize done .... <zRndD3D_Render.cpp,#301>
    [w] 03:00 Warn:  0 X:     [RND3D-Destructor]: Can't uninitialize D3DX Utility Library ! Error: D3DXERR_D3DXNOTSTARTEDYET .... <zRndD3D.h,#127>
    [i] 03:00 Info:  5 X:     [RND3D-Destructor]: D3DXUninitialize done .... <zRndD3D_Render.cpp,#309>
    [w] 03:05 Warn:  0 ==    ===================================== UNHANDLED EXCEPTION OCCURED ====================================================== .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 ==    ============================================ CRASH INFOS: ============================================================== .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 Go    thic II - 2.6 (fix), Parser Version: 50 .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 Us    er:  Michael,  CPUType: 586,  Mem: 2048 MB total, 2048 MB free .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 Ca    mera: Pos(3345.9021/275.969482/-1514.01636), At(-0.927087963/-0.336887032/0.164362356) .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 St    artup Options: .... <zWin32.cpp,#2976>
    [w] 03:05 Warn:  0 -g    ame:secret.ini -zreparse -zwindow -zlog:5,s -zmaxframerate:35
    Code:
    ======================================= UNHANDLED EXCEPTION OCCURED ======================================================
    ======================================= CRASH INFOS: =====================================================================
    Gothic II - 2.6 (fix), Parser Version: 50
    User:  Michael,  CPUType: 586,  Mem: 2048 MB total, 2048 MB free
    Camera: Pos(3345.9021/275.969482/-1514.01636), At(-0.927087963/-0.336887032/0.164362356)
    Startup Options:-game:secret.ini -zreparse -zwindow -zlog:5,s -zmaxframerate:35
    =============================================== CALLSTACK : ==============================================================
    0023:76A24662 (0xE06D7363 0x00000001 0x00000003 0x0135F754) KERNELBASE.dll, RaiseException()+98 byte(s)
    0023:007D44BF (0x0135F780 0x00889A88 0x006FB480 0x00AB40C0) Gothic2.exe, _CxxThrowException()+52 byte(s)
    0023:007D0B51 (0x00791AA2 0x00AB4108 0x00AB4108 0x00000041) Gothic2.exe, bad_cast::bad_cast
    0023:007924CF (0x00AB4108 0x00000000 0x00AB40C0 0x000142BF) Gothic2.exe, zCParser::DoStack()+2927 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1407+29 byte(s)
    
    
    0023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
    0023:00792504 (0x0000D20E 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000D209 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x0000D209 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00425E6E (0x00000000 0x00503270 0x0000002C 0x00010547) Gothic2.exe, CGameManager::Run()+1598 byte(s), P:\dev\g2addon\release\Gothic\_bert\oGameManager.cpp, line 767+47 byte(s)
    0023:0082933B (0x00000000 0x00000000 0x00000000 0x00000000) Gothic2.exe, SetFileAttributesA()+284535 byte(s)

  15. Beiträge anzeigen #435 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.781
     
    Kirides ist offline
    Zitat Zitat von Umfi Beitrag anzeigen
    Hallo ich nutze die neuste LeGo Version und habe ein Problem mit den Framefunctions, es wirft mir in regelmäßigen Abständen eine AV. Meistens wenn ich das Inventar öffne/Monster loote. Es ist eigentlich ganz ein einfaches Skript, welches jede Sekunde aufgerufen wird und prüft ob es regnet. Wenn ja dann soll der Held einen Kommentar abgeben. Es funktioniert auch, aber es scheint der Grund für random crashes zu sein. Eventuell hat jemand von euch eine Idee was hier das Problem sein könnte. Danke schon mal.

    In der INIT_Global() in der Startup rufe ich folgendes auf:

    Code:
    FF_ApplyOnceExt(Backgroundtasks, 1000, -1);
    Der Code schaut wie folgt aus.
    ...
    Also ich würde hierfür eher eine FF_ApplyOnceExtGT benutzen, diese läuft nur wenn das Spiel läuft und man nicht in einem Menü o.ä ist.
    Damit sind viele probleme oft schon aus der Welt geschaffen

  16. Beiträge anzeigen #436 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Mir ist gerade ein Bug in der Trialoge.d aufgefallen. Dieser sorgt dafür, dass alle Npcs, die mal in einem Trialog verstrickt waren, sehr verkorkste Rüstungswerte haben. Da bei mir einige Npcs plötzlich mit negativen Rüstungswerten herumgelaufen sind, waren diese immun gegen so ziemlich alles.
    In der _TRIA_Copy sollte deshalb vermutlich noch diese Zeile hinzugefügt werden:
    Code:
    MEM_SwapBytes(_@(onp0.protection), _@(onp1.protection), 32);
    Kann natürlich sein, dass wir an anderer Stelle etwas geändert haben, was diese Zeile erst notwendig macht. Wäre also super, wenn das nochmal jemand validieren könnte =)

  17. Beiträge anzeigen #437 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.781
     
    Kirides ist offline
    Hier eine Ergänzung für das Script von @Sektenspinner für das Überarbeiten von Statusmenü Einträgen (https://forum.worldofplayers.de/foru...1#post20906914)

    Wenn man den Hook bei "Install_Character_Menu_Hook" wie folgt abändert, hat man vollständige Kontrolle über alle Einträge in dem Statusmenü.

    Code:
    const int oCMenu_Status__InitForDisplay_End = 4712608;
    HookEngineF(oCMenu_Status__InitForDisplay_End, 7, Update_Character_Menu);
    Damit lassen sich auch von der Engine selbst berechnete Werte (Talente, Schutz, etc.) überarbeiten.

  18. Beiträge anzeigen #438 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Zitat Zitat von Draxes Beitrag anzeigen
    Mir ist gerade ein Bug in der Trialoge.d aufgefallen. Dieser sorgt dafür, dass alle Npcs, die mal in einem Trialog verstrickt waren, sehr verkorkste Rüstungswerte haben. Da bei mir einige Npcs plötzlich mit negativen Rüstungswerten herumgelaufen sind, waren diese immun gegen so ziemlich alles.
    In der _TRIA_Copy sollte deshalb vermutlich noch diese Zeile hinzugefügt werden:
    Code:
    MEM_SwapBytes(_@(onp0.protection), _@(onp1.protection), 32);
    Kann natürlich sein, dass wir an anderer Stelle etwas geändert haben, was diese Zeile erst notwendig macht. Wäre also super, wenn das nochmal jemand validieren könnte =)
    Danke für den Hinweis! Ich konnte das nachstellen und habe es wie von dir vorgeschlagen hier aufgenommen. Ich habe dich vergessen zu erwähnen. Du wirst dann in den Releasenotes der nächsten Version vermerkt. (Hoffentlich vergessen wir das nicht!)

  19. Beiträge anzeigen #439 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Zitat Zitat von Umfi Beitrag anzeigen
    Hallo ich nutze die neuste LeGo Version und habe ein Problem mit den Framefunctions, es wirft mir in regelmäßigen Abständen eine AV. Meistens wenn ich das Inventar öffne/Monster loote. Es ist eigentlich ganz ein einfaches Skript, welches jede Sekunde aufgerufen wird und prüft ob es regnet. Wenn ja dann soll der Held einen Kommentar abgeben. Es funktioniert auch, aber es scheint der Grund für random crashes zu sein. Eventuell hat jemand von euch eine Idee was hier das Problem sein könnte. Danke schon mal.

    In der INIT_Global() in der Startup rufe ich folgendes auf:

    Code:
    FF_ApplyOnceExt(Backgroundtasks, 1000, -1);
    Der Code schaut wie folgt aus.

    Code:
    var int rand; 
    var string str; 
    
    
    func void Backgroundtasks()
    {
        // Regen Kommentare
        if (LastRainCommentDay != Wld_GetDay()) 
        {
            if (Wld_IsRaining())
            {
                rand = r_MinMax(1, 4);
                str = "$Regen";
                str = ConcatStrings (str, IntToString(rand));
                B_Say(hero, hero, str);
                LastRainCommentDay = Wld_GetDay();
            };
        };
    };

    Stacktrace:
    Code:
    [i] 02:55 Info:  4 B:     Open Container .... <oInventory.cpp,#1457>
    [i] 02:58 Info:  4 B:     Close Container .... <oInventory.cpp,#1602>
    [f] 02:58 Fault: 0 Q:     [start of stacktrace]
    [f] 02:58 Fault: 0 Q:             BACKGROUNDTASKS()                                              +   21 bytes
    [f] 02:58 Fault: 0 Q:             FRAMEFUNCTIONS(6)                                              +  157 bytes
    [f] 02:58 Fault: 0 Q:             FOREACHHNDL(8423, FRAMEFUNCTIONS)                              +  273 bytes
    [f] 02:58 Fault: 0 Q:             [UNKNOWN]                                                      +-1708293470 bytes
    [f] 02:58 Fault: 0 Q:             _FF_HOOK()                                                     +   32 bytes
    [f] 02:58 Fault: 0 Q:             MEM_CALLBYID(8484)                                             +  224 bytes
    [f] 02:58 Fault: 0 Q:             _HOOK(52744804, 326419728, 0, 20315280, 20315148, 0, 8635020, 326419728, 338507456) +  468 bytes
    [f] 02:58 Fault: 0 Q:             [UNKNOWN]                                                      +-1707784923 bytes
    [f] 02:58 Fault: 0 Q:     [end of stacktrace]
    [f] 02:58 Fault: 0 Q:     Exception handler was invoked. Ikarus tried to print a Daedalus-Stacktrace to zSpy. Gothic will now crash and probably give you a stacktrace of its own.
    [i] 02:58 Info:  5 X:     Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
    [i] 02:58 Info:  5 X:     Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
    [i] 03:00 Info:  5 C:     Shutting down MSS .... <zSndMss.cpp,#629>
    [i] 03:00 Info:  5 X:     EmergencyExit: Releasing all DirectX-Objects ... .... <zRndD3D_Render.cpp,#283>
    [i] 03:00 Info:  5 X:     EmergencyExit: D3DXUninitialize done .... <zRndD3D_Render.cpp,#301>
    [w] 03:00 Warn:  0 X:     [RND3D-Destructor]: Can't uninitialize D3DX Utility Library ! Error: D3DXERR_D3DXNOTSTARTEDYET .... <zRndD3D.h,#127>
    [i] 03:00 Info:  5 X:     [RND3D-Destructor]: D3DXUninitialize done .... <zRndD3D_Render.cpp,#309>
    [w] 03:05 Warn:  0 ==    ===================================== UNHANDLED EXCEPTION OCCURED ====================================================== .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 ==    ============================================ CRASH INFOS: ============================================================== .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 Go    thic II - 2.6 (fix), Parser Version: 50 .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 Us    er:  Michael,  CPUType: 586,  Mem: 2048 MB total, 2048 MB free .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 Ca    mera: Pos(3345.9021/275.969482/-1514.01636), At(-0.927087963/-0.336887032/0.164362356) .... <zError.cpp,#474>
    [w] 03:05 Warn:  0 St    artup Options: .... <zWin32.cpp,#2976>
    [w] 03:05 Warn:  0 -g    ame:secret.ini -zreparse -zwindow -zlog:5,s -zmaxframerate:35
    Code:
    ======================================= UNHANDLED EXCEPTION OCCURED ======================================================
    ======================================= CRASH INFOS: =====================================================================
    Gothic II - 2.6 (fix), Parser Version: 50
    User:  Michael,  CPUType: 586,  Mem: 2048 MB total, 2048 MB free
    Camera: Pos(3345.9021/275.969482/-1514.01636), At(-0.927087963/-0.336887032/0.164362356)
    Startup Options:-game:secret.ini -zreparse -zwindow -zlog:5,s -zmaxframerate:35
    =============================================== CALLSTACK : ==============================================================
    0023:76A24662 (0xE06D7363 0x00000001 0x00000003 0x0135F754) KERNELBASE.dll, RaiseException()+98 byte(s)
    0023:007D44BF (0x0135F780 0x00889A88 0x006FB480 0x00AB40C0) Gothic2.exe, _CxxThrowException()+52 byte(s)
    0023:007D0B51 (0x00791AA2 0x00AB4108 0x00AB4108 0x00000041) Gothic2.exe, bad_cast::bad_cast
    0023:007924CF (0x00AB4108 0x00000000 0x00AB40C0 0x000142BF) Gothic2.exe, zCParser::DoStack()+2927 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1407+29 byte(s)
    
    
    0023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415
    0023:00792504 (0x0000D20E 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000D209 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x0000D209 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x00000AFA 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x00003CA5 0x13C893E4 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792504 (0x0000BF70 0x1374C510 0x00000000 0x0135FC90) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00792CBF (0x00400000 0x0145387B 0x0135FEB4 0x003BF000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00425E6E (0x00000000 0x00503270 0x0000002C 0x00010547) Gothic2.exe, CGameManager::Run()+1598 byte(s), P:\dev\g2addon\release\Gothic\_bert\oGameManager.cpp, line 767+47 byte(s)
    0023:0082933B (0x00000000 0x00000000 0x00000000 0x00000000) Gothic2.exe, SetFileAttributesA()+284535 byte(s)

    Da kann ich so nichts problematisches erkennen. Dass es mit FF_ApplyOnceExtGT behoben sein könnte, bezweifle ich, da die Abstürze ja bei Interaktionen mit dem Inventar auftreten. Aber wer weiß.

    Du kannst das Problem mal mit Prints eingrenzen, um herauszufinden, welche Zeile den Absturz erzeugt. Alternativ kannst du das machen, in dem du den Stacktrace der AV noch weiter analysierst. Wenn du den Befehl weißt, der das Problem auslöst, können wir vielleicht besser weiterhelfen.

  20. Beiträge anzeigen #440 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.246
     
    Milky-Way ist offline
    Ich habe einen Spielstand von einem Spieler, bei dem reproduzierbar das Spiel abstürzt, wenn ich einen Trialog führe. Warnungen und Fehlermeldungen im zSpy:
    Code:
    02:11 Fault: 0 Q:     [start of stacktrace]
    02:11 Fault: 0 Q:             MEMINT_HANDLEERROR(2, 'TRIA_Invite: Der Trialog läuft bereits.') +   62 bytes
    02:11 Fault: 0 Q:             MEM_WARN('TRIA_Invite: Der Trialog läuft bereits.')            +   21 bytes
    02:11 Fault: 0 Q:             TRIA_INVITE((instance)368088444)                               +   26 bytes
    02:11 Fault: 0 Q:             DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2()                     +   42 bytes
    02:11 Fault: 0 Q:     [end of stacktrace]
    02:11 Warn:  0 Q:     TRIA_Invite: Der Trialog läuft bereits.
    02:11 Fault: 0 Q:     [start of stacktrace]
    02:11 Fault: 0 Q:             MEMINT_HANDLEERROR(2, 'TRIA_Start: Es läuft bereits ein Trialog.') +   62 bytes
    02:11 Fault: 0 Q:             MEM_WARN('TRIA_Start: Es läuft bereits ein Trialog.')          +   21 bytes
    02:11 Fault: 0 Q:             TRIA_START()                                                   +   20 bytes
    02:11 Fault: 0 Q:             DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2()                     +   47 bytes
    02:11 Fault: 0 Q:     [end of stacktrace]
    02:11 Warn:  0 Q:     TRIA_Start: Es läuft bereits ein Trialog.
    02:11 Fault: 0 Q:     [start of stacktrace]
    02:11 Fault: 0 Q:             MEMINT_HANDLEERROR(3, 'TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache') +   62 bytes
    02:11 Fault: 0 Q:             MEM_ERROR('TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache') +   21 bytes
    02:11 Fault: 0 Q:             TRIA_NEXT((instance)361955620)                                 +  218 bytes
    02:11 Fault: 0 Q:             DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2()                     +   62 bytes
    02:11 Fault: 0 Q:     [end of stacktrace]
    02:11 Fault: 0 Q:     TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache
    02:22 Fault: 0 Q:     [start of stacktrace]
    02:22 Fault: 0 Q:             MEMINT_HANDLEERROR(3, 'TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache') +   62 bytes
    02:22 Fault: 0 Q:             MEM_ERROR('TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache') +   21 bytes
    02:22 Fault: 0 Q:             TRIA_NEXT((instance)368088444)                                 +  218 bytes
    02:22 Fault: 0 Q:             DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2()                     +  112 bytes
    02:22 Fault: 0 Q:     [end of stacktrace]
    02:22 Fault: 0 Q:     TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache
    02:22 Fault: 0 Q:     [start of stacktrace]
    02:22 Fault: 0 Q:             MEMINT_HANDLEERROR(3, 'TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache') +   62 bytes
    02:22 Fault: 0 Q:             MEM_ERROR('TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache') +   21 bytes
    02:22 Fault: 0 Q:             TRIA_NEXT((instance)361955620)                                 +  218 bytes
    02:22 Fault: 0 Q:             DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2()                     +  157 bytes
    02:22 Fault: 0 Q:     [end of stacktrace]
    02:22 Fault: 0 Q:     TRIA_Next: Der Npc ist nicht eingeladen worden: Torwache
    02:22 Warn:  0 D:     zModel.cpp(zCModel::StartAni): Ani not found: CALL SI T_DIALOGGESTURE_ -1 10638 .... <zModel.cpp,#2581>
    02:24 Warn:  0 U:     VIE: Window was still closing while trying to open ... .... <zView.cpp,#804>
    02:25 Warn:  0 U:     VIE: Window was still closing while trying to open ... .... <zView.cpp,#804>
    02:25 Warn:  0 D:     zModel.cpp(zCModel::StartAni): Ani not found: CALL SI T_DIALOGGESTURE_ -1 10638 .... <zModel.cpp,#2581>
    02:25 Warn:  0 X:     [RND3D-Destructor]: Can't uninitialize D3DX Utility Library ! Error: D3DXERR_D3DXNOTSTARTEDYET .... <zRndD3D.h,#127>
    02:26 Warn:  0 ==    ===================================== UNHANDLED EXCEPTION OCCURED ====================================================== .... <zError.cpp,#474>
    02:26 Warn:  0 ==    ============================================ CRASH INFOS: ============================================================== .... <zError.cpp,#474>
    02:26 Warn:  0 Go    thic II - 2.6 (fix), Parser Version: 50 .... <zError.cpp,#474>
    02:26 Warn:  0 Us    er:  ...,  CPUType: 586,  Mem: 2048 MB total, 2048 MB free .... <zError.cpp,#474>
    02:26 Warn:  0 Ca    mera: Pos(-21516.6563/644.988342/-5431.45361), At(-0.640622616/0.0813724622/-0.763532043) .... <zError.cpp,#474>
    02:26 Warn:  0 St    artup Options: .... <zWin32.cpp,#2976>
    02:26 Warn:  0 -g    ame:loa.ini -zwindow -znomusic -znosound -zlog:4,s -devmode
     .... <zWin32.cpp,#2977>
    02:26 Warn:  0 ==    ============================================= CALLSTACK : ============================================================== .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:77BD46D2 (0xE06D7363 0x00000001 0x00000003 0x0135F450) KERNELBASE.dll, RaiseException()+98 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:007D44BF (0x0135F47C 0x00889A88 0x0082E6F0 0x00AB40C0) Gothic2.exe, _CxxThrowException()+52 byte(s)0023:0A93C0BA (0x02E50010 0x00000040 0x0135F46C 0x0135EE04) SHW32.DLL, shi_freeThreadPools()+74 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:007D0B51 (0x02E50010 0x00000040 0x00000001 0x00001367) Gothic2.exe, bad_cast::bad_cast .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:0A93C0BA (0x02E50010 0x00000040 0x0135F46C 0x0135EE04) SHW32.DLL, shi_freeThreadPools()+74 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:0A93C2C9 (0x4144A5A0 0x00000000 0x0088DFE0 0x008913B0) SHW32.DLL, shi_calloc()+25 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:006DB111 (0x0135F5AC 0x00000001 0x006E66F0 0x00000000) Gothic2.exe, zSTRING::Init()+5521 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGameExternal.cpp, line 281 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:006E6760 (0x00AB4108 0x00000000 0x00AB40C0 0x000714A4) Gothic2.exe, oCMsgState::operator delete()+18096 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGameExternal.cpp, line 3216+77 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0      .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792504 (0x000711F5 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792504 (0x0007144E 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792504 (0x00003CA7 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA7 0x7F9F3424 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x000635AC 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x2364233C 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA7 0x7F9F3424 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x000635AC 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x2364233C 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792504 (0x00003CA7 0x7F9F3424 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x000635AC 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x2364233C 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792504 (0x000635AC 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x2364233C 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00792CBF (0x2364233C 0x00000000 0x1EBED7BC 0x2364233C) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551 .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:0074C06B (0x00000000 0x236422A4 0x0A93C31A 0x236422A4) Gothic2.exe, oCNpc::OnMessage()+4171 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oNpc.cpp, line 10770+8 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:0A93C21C (0xFFFFFFFF 0x007870CA 0x2364233C 0x1EBED7BC) SHW32.DLL, shi_freeThreadPools()+428 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0 00    23:00829CC8 (0x0000FFFF 0x00000000 0x0082E6F0 0x30393910) Gothic2.exe, SetFileAttributesA()+286980 byte(s) .... <zError.cpp,#474>
    02:26 Warn:  0 ==    ===================================== UNHANDLED EXCEPTION OCCURED ====================================================== .... <zError.cpp,#474>
    02:28 Warn:  0 B:     GMAN: gameSession is existing. Call CGameManager::Done() before! .... <oGameManager.cpp,#375>
    Ich hatte mir gedacht: "Trialog läuft bereits" -- da wurde vielleicht ein Trialog nicht richtig beendet vorher? Deshalb ausprobiert, einfach mal vorher TRIA_Finish auszuführen, aber das bringt das Spiel zum Absturz:
    Code:
    01:26 Warn:  0 X:     [RND3D-Destructor]: Can't uninitialize D3DX Utility Library ! Error: D3DXERR_D3DXNOTSTARTEDYET .... <zRndD3D.h,#127>
    01:27 Warn:  0 ==    ===================================== UNHANDLED EXCEPTION OCCURED ====================================================== .... <zError.cpp,#474>
    01:27 Warn:  0 ==    ============================================ CRASH INFOS: ============================================================== .... <zError.cpp,#474>
    01:27 Warn:  0 Go    thic II - 2.6 (fix), Parser Version: 50 .... <zError.cpp,#474>
    01:27 Warn:  0 Us    er:  ...,  CPUType: 586,  Mem: 2048 MB total, 2048 MB free .... <zError.cpp,#474>
    01:27 Warn:  0 Ca    mera: Pos(-21201.1016/836.020386/-2980.55322), At(-0.124965437/0/-0.992161095) .... <zError.cpp,#474>
    01:27 Warn:  0 St    artup Options: .... <zWin32.cpp,#2976>
    01:27 Warn:  0 -g    ame:loa.ini -zwindow -znomusic -znosound -zlog:4,s -devmode
     .... <zWin32.cpp,#2977>
    01:27 Warn:  0 ==    ============================================= CALLSTACK : ============================================================== .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:77BD46D2 (0xE06D7363 0x00000001 0x00000003 0x0135F450) KERNELBASE.dll, RaiseException()+98 byte(s) .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:007D44BF (0x0135F47C 0x00889A88 0x0082E6F0 0x00AB40C0) Gothic2.exe, _CxxThrowException()+52 byte(s)0023:0A93C0BA (0x02950010 0x00000040 0x0135F46C 0x0135EE04) SHW32.DLL, shi_freeThreadPools()+74 byte(s) .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:007D0B51 (0x02950010 0x00000040 0x00000001 0x00001367) Gothic2.exe, bad_cast::bad_cast .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:0A93C0BA (0x02950010 0x00000040 0x0135F46C 0x0135EE04) SHW32.DLL, shi_freeThreadPools()+74 byte(s) .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:0A93C2C9 (0x4144A5A0 0x00000000 0x0088DFE0 0x008913B0) SHW32.DLL, shi_calloc()+25 byte(s) .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:006DB111 (0x0135F5AC 0x00000001 0x006E66F0 0x00000000) Gothic2.exe, zSTRING::Init()+5521 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGameExternal.cpp, line 281 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:006E6760 (0x00AB4108 0x00000000 0x00AB40C0 0x000714A4) Gothic2.exe, oCMsgState::operator delete()+18096 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGameExternal.cpp, line 3216+77 byte(s) .... <zError.cpp,#474>
    01:27 Warn:  0      .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792504 (0x000711F5 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792504 (0x0007144E 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1415 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792504 (0x00003CA7 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA7 0x7F9F3424 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x000635AC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x246554FC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 15510023:00621903 (0x00000001 0x0A020038 0x00000000 0x0135FC90) Gothic2.exe, zCWorld::Render()+515 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zWorld.cpp, line 825 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792504 (0x00000AFC 0x00AB4108 0x00000000 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x00003CA7 0x7F9F3424 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x000635AC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x246554FC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 15510023:00621903 (0x00000001 0x0A020038 0x00000000 0x0135FC90) Gothic2.exe, zCWorld::Render()+515 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zWorld.cpp, line 825 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792504 (0x00003CA7 0x7F9F3424 0x00AB4118 0x00AB40C0) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792504 (0x000635AC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x246554FC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 15510023:00621903 (0x00000001 0x0A020038 0x00000000 0x0135FC90) Gothic2.exe, zCWorld::Render()+515 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zWorld.cpp, line 825 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792504 (0x000635AC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::DoStack()+2980 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 14150023:00792CBF (0x246554FC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 15510023:00621903 (0x00000001 0x0A020038 0x00000000 0x0135FC90) Gothic2.exe, zCWorld::Render()+515 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zWorld.cpp, line 825 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:00792CBF (0x246554FC 0x00000000 0x1EBF75F0 0x246554FC) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 15510023:00621903 (0x00000001 0x0A020038 0x00000000 0x0135FC90) Gothic2.exe, zCWorld::Render()+515 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zWorld.cpp, line 825 .... <zError.cpp,#474>
    01:27 Warn:  0 00    23:0074C06B (0x00000000 0x24655464 0x0A93C31A 0x24655464) Gothic2.exe, oCNpc::OnMessage()+4171 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oNpc.cpp, line 10770+8 byte(s) .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:0A93C21C (0xFFFFFFFF 0x007870CA 0x246554FC 0x1EBF75F0) SHW32.DLL, shi_freeThreadPools()+428 byte(s)0023:007D43F8 (0x00000004 0x0000FFFF 0x000000B8 0x00000000) Gothic2.exe, WinMainCRTStartup()+224 byte(s) .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:00829CC8 (0x0E184034 0x00621903 0x0A14F930 0x0083C10C) Gothic2.exe, SetFileAttributesA()+286980 byte(s) .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:00785F96 (0x0A14F930 0x0083C10C 0x0A020038 0x00000000) Gothic2.exe, zCEventManager::DoFrameActivity()+38 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zEventMan.cpp, line 145+9 byte(s) .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:00621903 (0x00000001 0x0A020038 0x00000000 0x0135FC90) Gothic2.exe, zCWorld::Render()+515 byte(s), P:\dev\g2addon\release\ZenGin\_dieter\zWorld.cpp, line 825 .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:006C87EB (0x00400000 0x014042C9 0x0135FEB4 0x00276000) Gothic2.exe, oCGame::Render()+331 byte(s), P:\dev\g2addon\release\Gothic\_ulf\oGame.cpp, line 2658 .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:00425E6E (0x0082F0EC 0x00000001 0x00250192 0x0A020038) Gothic2.exe, CGameManager::Run()+1598 byte(s), P:\dev\g2addon\release\Gothic\_bert\oGameManager.cpp, line 767+47 byte(s) .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:0078188B (0x0000002C 0x056350E1 0x00000BBE 0x00000000) Gothic2.exe, MainProg()+75 byte(s), P:\dev\g2addon\release\Gothic\_ulf\Phoenix.cpp, line 111 .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:00503270 (0x00400000 0x00000000 0x014042C9 0x00000001) Gothic2.exe, HandledWinMain()+928 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1169 .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:00502DFD (0x0135FEB8 0x00000000 0x014042C9 0x00000001) Gothic2.exe, WinMain()+141 byte(s), P:\dev\g2addon\release\ZenGin\_carsten\zWin32.cpp, line 1054+17 byte(s) .... <zError.cpp,#474>
    01:28 Warn:  0 00    23:007D43F8 (0x00000004 0x0000FFFF 0x000000B8 0x00000000) Gothic2.exe, WinMainCRTStartup()+224 byte(s) .... <zError.cpp,#474>
    01:28 Warn:  0 ==    ===================================== UNHANDLED EXCEPTION OCCURED ====================================================== .... <zError.cpp,#474>
    01:29 Warn:  0 B:     GMAN: gameSession is existing. Call CGameManager::Done() before! .... <oGameManager.cpp,#375>
    (kein Stacktrace davor im zSpy, wenn ich einfach so TRIA_Finish aufrufe, in meinem Fall über die Konsole call TRIA_Finish)


    Beispiels-Trialog, bei dem das Problem auftritt (ist eine Dialog-Choice)
    Code:
    FUNC void DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2()
    {
    	var c_npc TRIA_W1; TRIA_W1 = Hlp_GetNpc(loa_mil_6969_torwache1);
    	var c_npc TRIA_W2; TRIA_W2 = Hlp_GetNpc(loa_mil_6981_torwache2);
    	TRIA_Invite(TRIA_W2);
    	TRIA_Start();
    	DIAG_Reset();
    	TRIA_Next(TRIA_W1);
    	AI_Output (other, self, "DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2_00"); //Wir wurden unterwegs von Banditen überfallen.
    	AI_Output (self, other, "DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2_01"); //(lacht) Wir? Und wo sind deine imaginären Freunde?
    	TRIA_Next(TRIA_W2);
    	AI_TurnToNpc(self, TRIA_W1);
    	AI_Output (self, other, "DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2_02"); //(grinst) Lass ihn durch, den kenn ich. Und er hat offensichtlich gut gebechert.
    	TRIA_Next(TRIA_W1);
    	AI_TurnToNpc(self, hero);
    	AI_Output (self, other, "DIA_ST_K3_BERENLUTHIEN_6_TORWACHE_TRIA_2_03"); //Na schön, dann mal rein mit dir!
    	Xp(50);
    	DIAG_Reset();
    	TRIA_Finish();
    	AI_StopProcessInfos (self);
    };

    Hat jemand eine Idee, was da vor sich geht und wie man das Problem beheben / verhindern / umgehen kann?

Seite 22 von 27 « Erste ... 1115181920212223242526 ... Letzte »

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide