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

 

Ergebnis 1 bis 12 von 12
  1. Beiträge anzeigen #1 Zitieren
    OdysseeModTeam Avatar von Alain Dufont
    Registriert seit
    Oct 2016
    Ort
    hinter dem Mond
    Beiträge
    3.865
     
    Alain Dufont ist offline

    Trigger funktionierten erst bei Ablegen der Rüstung

    Wir hatten den Fehler, dass einige Trigger nicht ausgelöst wurden. Als ich aber dann die Rüstung ausgezogen hatte um eine andere anzuziehen, funktionierten diese plötzlich, da sogleich die Prints angezeigt wurden. Hat einer von euch eine Erklärung, warum das Ablegen der Rüstung das Problem lösen konnte?

  2. Beiträge anzeigen #2 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Ohne code kann man hier nur wild spekulieren.

    Was ist für den Trigger im Spacer eingestellt?
    Wie sieht das Skript aus welches aufgerufen wird?
    Definition der Rüstung welche Probleme macht?
    Ist es nur eine spezifische Rüstung? oder Rüstungen allgemein?

    Das einzige was mir jetzt spontan einfällt sind Dinge wie C_PlayerIsFakePirate, C_PlayerIsFakeBandit, C_PlayerHasFakeGuild oder ähnliche Funktionen bei denen eine Fallunterscheidung aufgrund der angelegten Rüstung gemacht wird.

  3. Beiträge anzeigen #3 Zitieren
    OdysseeModTeam Avatar von blackpirate
    Registriert seit
    Jan 2008
    Ort
    Jharkendar
    Beiträge
    20.021
     
    blackpirate ist offline
    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    Ohne code kann man hier nur wild spekulieren.

    Was ist für den Trigger im Spacer eingestellt?
    Wie sieht das Skript aus welches aufgerufen wird?
    Definition der Rüstung welche Probleme macht?
    Ist es nur eine spezifische Rüstung? oder Rüstungen allgemein?

    Das einzige was mir jetzt spontan einfällt sind Dinge wie C_PlayerIsFakePirate, C_PlayerIsFakeBandit, C_PlayerHasFakeGuild oder ähnliche Funktionen bei denen eine Fallunterscheidung aufgrund der angelegten Rüstung gemacht wird.
    Es betrifft kein einzelnes Script. Wenn man Odyssee längere Zeit spielt, kann es passieren, dass bisher funktionierende Triggerscripte nicht ausgeführt werden. Gestern wurde festgestellt, dass diese Blockade beim Ablegen der Rüstung beendet wird. Jetzt könnten wir natürlich per Befehl in der Startup veranlassen, dass bei jedem Betreten einer Welt und beim Neuladen die Spielfigur die Rüstung ablegt um zu gewährleisten, dass die Trigger funktionieren. Es sähe allerdings blöd aus, wenn die Spielfigur dann immer in Unterwäsche starten würde. Es wäre daher gut, wenn wir einen Befehl fänden, der, genauso wie beim Ablegen der Rüstung, die Blockade der Trigger beseitigt.

    Der Krieg gegen die Orks schien verloren, - da machte sich eine Gruppe von Paladinen auf die Welt zu retten:
    ODYSSEE - IM AUFTRAG DES KÖNIGS


    Geändert von blackpirate (16.06.2017 um 09:10 Uhr)

  4. Beiträge anzeigen #4 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Schonmal versucht, einfach noch einen Wld_SendTrigger zu machen?


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  5. Beiträge anzeigen #5 Zitieren
    OdysseeModTeam Avatar von blackpirate
    Registriert seit
    Jan 2008
    Ort
    Jharkendar
    Beiträge
    20.021
     
    blackpirate ist offline
    Zitat Zitat von Bisasam Beitrag anzeigen
    Schonmal versucht, einfach noch einen Wld_SendTrigger zu machen?
    Es werden mehrere Questaktualisierungen blockiert. Wir gehen mittlerweile davon aus, dass es keine Rolle spielt welche Quests blockiert werden. Es hängt wohl damit zusammen, dass Gothic die vielen Informationen, die verarbeitet werden müssen, nach vielen Stunden Spielzeit nicht mehr alle ausführen kann. Ein Wld_SendTrigger hingegen würde ja nur einen Trigger beheben, sofern das überhaupt funktioniert.

    EDIT: Es handelt sich um Triggerscripts, die über Ikarus laufen.

    Der Krieg gegen die Orks schien verloren, - da machte sich eine Gruppe von Paladinen auf die Welt zu retten:
    ODYSSEE - IM AUFTRAG DES KÖNIGS


    Geändert von blackpirate (16.06.2017 um 11:03 Uhr)

  6. Beiträge anzeigen #6 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Ihr habt also kein ocTriggerscript in der Welt stehen, das auf eine Schleife verweist, die wiederum auf das Triggerscript verweist?


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  7. Beiträge anzeigen #7 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Bei Weltenwechsel werden unter Umständen Ikarusabhängige Skripte noch vor der Init_Global und somit vor der Initialisierung von Ikarus aufgerufen. (Das kommt vor allem dann vor wenn man mit LeGo bestimmte Funktionen hookt.) Du könntest im zSpy mal nach etwas wie suchen wie Addressing empty instance zCTimer.totalTimeFloat. Eine Lösung dafür wäre, einfach MEM_InitGlobalInst(); zu Beginn eines jeden Triggerskriptes zu schreiben. Warum das ganze durch Ablegen der Rüstung gelöst wird könnte ich mir aber nicht erklären.
    Besser ist ansonsten natürlich von dem veralteten Ikarus-Triggerschleifen abzusehen und die stabileren FrameFunctions zu benutzen.
    Ich hoffe das ist das, was du mit Triggerscripts, die über Ikarus laufen meinst.

  8. Beiträge anzeigen #8 Zitieren
    OdysseeModTeam Avatar von blackpirate
    Registriert seit
    Jan 2008
    Ort
    Jharkendar
    Beiträge
    20.021
     
    blackpirate ist offline
    Zitat Zitat von Bisasam Beitrag anzeigen
    Ihr habt also kein ocTriggerscript in der Welt stehen, das auf eine Schleife verweist, die wiederum auf das Triggerscript verweist?
    Nein, bei diesen Triggerscripten nicht.


    Zitat Zitat von mud-freak Beitrag anzeigen
    Bei Weltenwechsel werden unter Umständen Ikarusabhängige Skripte noch vor der Init_Global und somit vor der Initialisierung von Ikarus aufgerufen. (Das kommt vor allem dann vor wenn man mit LeGo bestimmte Funktionen hookt.) Du könntest im zSpy mal nach etwas wie suchen wie Addressing empty instance zCTimer.totalTimeFloat. Eine Lösung dafür wäre, einfach MEM_InitGlobalInst(); zu Beginn eines jeden Triggerskriptes zu schreiben. Warum das ganze durch Ablegen der Rüstung gelöst wird könnte ich mir aber nicht erklären.
    Besser ist ansonsten natürlich von dem veralteten Ikarus-Triggerschleifen abzusehen und die stabileren FrameFunctions zu benutzen.
    Ich hoffe das ist das, was du mit Triggerscripts, die über Ikarus laufen meinst.
    Als die Mod erstellt wurde, wurden jede Menge Ikarus-Triggerschleifen ins Spiel gebracht. Man müsste schauen wie arbeitsaufwändig es wäre das alles zu ändern. Mit FrameFunctions habe ich allerdings keine Erfahrung.

    Der Krieg gegen die Orks schien verloren, - da machte sich eine Gruppe von Paladinen auf die Welt zu retten:
    ODYSSEE - IM AUFTRAG DES KÖNIGS



  9. Beiträge anzeigen #9 Zitieren
    OdysseeModTeam Avatar von blackpirate
    Registriert seit
    Jan 2008
    Ort
    Jharkendar
    Beiträge
    20.021
     
    blackpirate ist offline
    Die Ursache unseres Problems wurde gerade von unserem Teammitglied VV0ll3 entdeckt. Die abschließende Klammer für den Kältecheck stand nicht unter der Funktion hierfür sondern weit darunter und hat dadurch die Ausführung dieser Trigger verhindert. Der Fehler entstand wohl, als das Script wegen der Performanceverbesserung komplett umgeschrieben wurde. Dass es am Ende so ein banaler Fehler war, beruhigt mich. Ich hatte schon befürchtet, dass jede Menge verändert werden müsste.

    Vielen Dank noch für eure Hilfe.

    Der Krieg gegen die Orks schien verloren, - da machte sich eine Gruppe von Paladinen auf die Welt zu retten:
    ODYSSEE - IM AUFTRAG DES KÖNIGS



  10. Beiträge anzeigen #10 Zitieren
    OdysseeModTeam Avatar von Alain Dufont
    Registriert seit
    Oct 2016
    Ort
    hinter dem Mond
    Beiträge
    3.865
     
    Alain Dufont ist offline
    Zitat Zitat von blackpirate Beitrag anzeigen
    Der Fehler entstand wohl, als das Script wegen der Performanceverbesserung komplett umgeschrieben wurde.
    So ist es. Blöd, dass mir so ein Fehler unterlaufen ist. Ich bin froh, dass Wolle diesen entdeckt hat.

  11. Beiträge anzeigen #11 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Zitat Zitat von Alain Dufont Beitrag anzeigen
    So ist es. Blöd, dass mir so ein Fehler unterlaufen ist. Ich bin froh, dass Wolle diesen entdeckt hat.
    Das passiert nunmal (wobei die Tatsache, dass es trotzdem gültiger Code war und der Parser nicht meckerte, schon unglücklich ist). An dieser Stelle lernt man dann, warum ein konsistenter Stil (und damit verbunden auch die Einrückung) sehr, sehr hilfreich sein kann, wenn man so einen merkwürdigen Fehler sucht

  12. Beiträge anzeigen #12 Zitieren
    OdysseeModTeam Avatar von Alain Dufont
    Registriert seit
    Oct 2016
    Ort
    hinter dem Mond
    Beiträge
    3.865
     
    Alain Dufont ist offline
    Zitat Zitat von Lehona Beitrag anzeigen
    Das passiert nunmal (wobei die Tatsache, dass es trotzdem gültiger Code war und der Parser nicht meckerte, schon unglücklich ist). An dieser Stelle lernt man dann, warum ein konsistenter Stil (und damit verbunden auch die Einrückung) sehr, sehr hilfreich sein kann, wenn man so einen merkwürdigen Fehler sucht
    Eben. Da der Parser nicht gemeckert hat, ist mir das nicht aufgefallen. Das Blöde ist nur, dass ich wegen diesem dummen Fehler wieder einen Patch zusammenstellen und veröffentlichen muss.

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