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
    Veteran Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Beiträge
    542
     
    Buzz Killington ist offline

    AI_Function wird nicht ausgeführt

    Hallöle,

    ich hab mich für das alte Problem des Gruppenangriffs der AI_Function aus LeGo bedienen wollen - mit dem Problem, dass die Funktion nicht aufgerufen wird. Anscheinend reiht man hier in die AI-Queue des NPC ein, sollte AI_StopProcessInfos den nicht vorher "leerräumen", sodass die Funktion aufgerufen wird?

    Code:
    func void DIA_Konrad_Schluss_Kampf(){
    	AI_Output (other, self, "DIA_Konrad_Schluss_Kampf_14_00"); //
    	AI_Output (self, other, "DIA_Konrad_Schluss_Kampf_14_01"); //
    	AI_StopProcessInfos (self);
    	AI_Function	(self, Gruppe_Angriff);
    };
    
    
    func void Gruppe_Angriff()
    {
       AI_PrintScreen ("Funktion wird aufgerufen...",	 -1, 41, FONT_ScreenSmall, 2);
       B_Attack (MIL_028_Konrad, hero, AR_KILL,0);
       B_Attack (MIL_029_Nikolai, hero, AR_KILL,0);
       B_Attack (MIL_030_Andrea, hero, AR_KILL,0);
      
    };
    Den Print-Befehl hab ich zur Kontrolle reingemacht, ob auch überhaupt was passiert; aber nichtmal der wird ausgeführt...

  2. Beiträge anzeigen #2 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Ich kann dir nicht sagen woran genau das liegt, aber folgendes würde ich probieren:

    • PrintScreen anstatt AI_PrintScreen zum Überprüfen.
    • AI_Function vor AI_StopProcessInfos aufrufen. Das ist zwar nicht genau was du willst, wäre aber sicherlich zur Fehlerfindung hilfreich.

  3. Beiträge anzeigen #3 Zitieren
    Veteran Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Beiträge
    542
     
    Buzz Killington ist offline
    Erstmal danke für die schnelle Antwort.
    Habe das mit dem AI_StopProcessInfos vor der AI_Function auch schon gedacht, es ändert sich aber leider nichts. Auch der Print-Befehl erscheint nach wie vor nicht...

    Ich habe die Stelle inmitten von anderen Choices eines Dialoges, könnte es daran liegen dass noch andere Dialogteile ausgeführt werden können?

  4. Beiträge anzeigen #4 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Zeig mal bitte mehr code Kontext. Also den ganzen Dialog mit allen choices.

  5. Beiträge anzeigen #5 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Werden die AI_Functions denn überhaupt initialisiert, d.h. rufst du LeGo_Init() in der INIT_Global auf?
    Alternativ kannst du auch nochmal versuchen, die bei 'other' anzumelden, aber grundsätzlich sollte das schon auch so funktionieren.

  6. Beiträge anzeigen #6 Zitieren
    Veteran Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Beiträge
    542
     
    Buzz Killington ist offline
    Zitat Zitat von Lehona Beitrag anzeigen
    Werden die AI_Functions denn überhaupt initialisiert, d.h. rufst du LeGo_Init() in der INIT_Global auf?
    Alternativ kannst du auch nochmal versuchen, die bei 'other' anzumelden, aber grundsätzlich sollte das schon auch so funktionieren.
    Ich hab das über MEM_InitAll(); für Ikarus gemacht, geht das bei LeGo nicht? Wenn ich LeGo_Init(); angebe, spuckt der compiler ne Fehlermeldung aus (Klammerfehler).

  7. Beiträge anzeigen #7 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Zitat Zitat von Buzz Killington Beitrag anzeigen
    Ich hab das über MEM_InitAll(); für Ikarus gemacht, geht das bei LeGo nicht? Wenn ich LeGo_Init(); angebe, spuckt der compiler ne Fehlermeldung aus (Klammerfehler).
    Code zeigen hilft (wie immer). Du musst auch die Pakete angeben, die du initialisieren (=benutzen) möchtest, wie es in der ReadMe auch steht. Wie genau die Konstanten für die individuellen Pakete heißen steht auf der jeweiligen Seite im Wiki, z.B. LeGo_AI_Function (oben rechts).

  8. Beiträge anzeigen #8 Zitieren
    Veteran Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Beiträge
    542
     
    Buzz Killington ist offline
    Hab's.

    Code:
    // *********
    // GLOBAL
    // *********
    
    
    func void STARTUP_GLOBAL()
    {
        Game_InitGerman();
    };
    
    
    func void INIT_GLOBAL()
    {
        Game_InitGerman();
        MEM_InitAll();
        LeGo_Init(Lego_All);
    
    
    };
    Hab' das rot markierte hinzugefügt und alle Probleme bezüglich LeGo (Trialogproblem welches ich noch hatte und das hier) haben sich in Luft aufgelöst. Jetzt funktioniert's. Ich hatte zuerst nichts in den Klammern bezüglich des Initalisierungsbefehls von LeGo stehen...
    Vielleicht aufmerksamer ReadMe lesen... Ich dachte, die MEM_InitAll(); - Zeile initialisiert auch LeGo, da hab ich wohl falsch gedacht.

    Danke für die Hilfe nochmal.

  9. Beiträge anzeigen #9 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Du wirst dann neuerdings Blutflecke(oder die Standardtextur, Steinquader) auf dem Bildschirm sehen wenn der hero Schaden nimmt.
    Falls du dieses LeGo feature nicht möchtest kannst du LeGo so initialisieren:
    Code:
    LeGo_Init(Lego_All & ~LeGo_Bloodsplats);

  10. Beiträge anzeigen #10 Zitieren
    Veteran Avatar von N1kX
    Registriert seit
    Aug 2018
    Ort
    Serov
    Beiträge
    643
     
    N1kX ist offline
    Try it like this.
    Code:
    func void DIA_Konrad_Schluss_Kampf(){    
        AI_Output(other, self, "DIA_Konrad_Schluss_Kampf_14_00"); //
        AI_Output(self, other, "DIA_Konrad_Schluss_Kampf_14_01"); //
        Info_ClearChoices(DIA_Konrad_Schluss_Kampf);
        Info_AddChoice(DIA_Konrad_Schluss_Kampf,"Go here!",Gruppe_Angriff);
    };
    
    
    func void Gruppe_Angriff()
    {
       AI_StopProcessInfos(self);
       B_Attack(MIL_028_Konrad, hero, AR_KILL,1);
       B_Attack(MIL_029_Nikolai, hero, AR_KILL,1);
       B_Attack(MIL_030_Andrea, hero, AR_KILL,1);
    };

  11. Beiträge anzeigen #11 Zitieren
    Veteran Avatar von Buzz Killington
    Registriert seit
    Apr 2019
    Beiträge
    542
     
    Buzz Killington ist offline
    Zitat Zitat von N1kX Beitrag anzeigen
    Try it like this.
    Code:
    func void DIA_Konrad_Schluss_Kampf(){    
        AI_Output(other, self, "DIA_Konrad_Schluss_Kampf_14_00"); //
        AI_Output(self, other, "DIA_Konrad_Schluss_Kampf_14_01"); //
        Info_ClearChoices(DIA_Konrad_Schluss_Kampf);
        Info_AddChoice(DIA_Konrad_Schluss_Kampf,"Go here!",Gruppe_Angriff);
    };
    
    
    func void Gruppe_Angriff()
    {
       AI_StopProcessInfos(self);
       B_Attack(MIL_028_Konrad, hero, AR_KILL,1);
       B_Attack(MIL_029_Nikolai, hero, AR_KILL,1);
       B_Attack(MIL_030_Andrea, hero, AR_KILL,1);
    };
    I guess that's the fake-choice possibility? Already used it and have not been very fond of it to be honest. That's why I wanted to use LeGo, to avoid this alternative. But thank you anyway.

  12. Beiträge anzeigen #12 Zitieren
    Veteran Avatar von N1kX
    Registriert seit
    Aug 2018
    Ort
    Serov
    Beiträge
    643
     
    N1kX ist offline
    Zitat Zitat von Buzz Killington Beitrag anzeigen
    I guess that's the fake-choice possibility? Already used it and have not been very fond of it to be honest. That's why I wanted to use LeGo, to avoid this alternative. But thank you anyway.
    With Lego
    Code:
    func void DIA_Konrad_Schluss_Kampf(){        
        AI_Output(other, self, "DIA_Konrad_Schluss_Kampf_14_00"); //
        AI_Output(self, other, "DIA_Konrad_Schluss_Kampf_14_01"); //
        AI_Function(self, Gruppe_Angriff);
    };
    
    
    func void Gruppe_Angriff()
    {
       AI_StopProcessInfos(self);
       B_Attack(MIL_028_Konrad, hero, AR_KILL,1);
       B_Attack(MIL_029_Nikolai, hero, AR_KILL,1);
       B_Attack(MIL_030_Andrea, hero, AR_KILL,1);
    };

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