[Release] Ascalons Breagar

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Hatte gerade einen Stutterbug mit Breagar:

Code:
IF
    InParty(Myself)
    See(Player1)
    Global("ACAUDQUEST","GLOBAL",2)
    !InMyArea("ACAUD001")  // Hooded dwarf
    Global("endofbg1","GLOBAL",2)
    OR(8)
        AreaCheck("AR0020")  // City Gates
        AreaCheck("AR0300")  // The Docks
        AreaCheck("AR0400")  // Slums
        AreaCheck("AR0500")  // Bridge District
        AreaCheck("AR0700")  // Waukeen's Promenade
        AreaCheck("AR0800")  // Graveyard
        AreaCheck("AR0900")  // Temple District
        AreaCheck("AR1000")  // Government District
THEN
    RESPONSE #100
        SetGlobal("ACAUDQUESTSTARTER","LOCALS",1)
        DisplayStringHead(Myself,484868)  // Running block 68 of ACBRE.BCS
END

IF
    InParty(Myself)
    See(Player1)
    Global("ACAUDQUESTSTARTER","LOCALS",1)
    Global("endofbg1","GLOBAL",2)
THEN
    RESPONSE #100
        PlaySong(172)
        DisplayStringHead(Myself,484869)  // Running block 69 of ACBRE.BCS
        StartDialogueNoSet(Player1)
END

Der obere Block (68) ist permanent gelaufen. Wahrscheinlich, weil wir als Gruppe nach Ablauf des Timers (und setzen der Variable) in das Gebiet (Slums) teleportiert wurden und Breagar weit weg vom HC war und letzterer gleich losgelaufen ist. Da war dann das See(Player1) aus dem zweiten Block wahrscheinlich nicht mehr erfüllt. Oder halt, dass er nie zum zweiten Block kam, weil der erste permanent lief. Ist aber allgemein schon komisch. Dass es nur da hing ist eigentlich klar, weil das Ansprechen von Breagar dann den Dialog gestartet hat und alles wie geplant weiterlief.
Ich hab jetzt Breagar schon öfter dabei gehabt und den Bug noch nie. Er tritt also nicht regelmäßig auf.
Andererseits müsste er sich einfach lösen lassen, in dem man ein Global("ACAUDQUESTSTARTER","LOCALS",0) in die Trigger des oberen Block einfügt, oder?[/code]
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
So, es wird noch ein wenig seltsamer. Ich habe Renfeld gefunden (der vergiftete Harfner) und hatte dasselbe Problem bei ihm (sollte mich ansprechen, hatte aber einen Stutterbug). Es war auch gar nicht so einfach, Renfeld selbst dann anzusprechen.

Und: normalerweise treffe ich Renfeld, wenn ich außerhalb der Stadt bin. Diesmal war es innerhalb. Möglicherweise hat die Breagar-Mod das gemacht, weil ich ja jetzt auf der Suche nach der Axt bin und die Harfner dafür benötige...
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
Das mit Renfeld weiß ich nicht, da müsstest Du Dein Spiel nach ihm durchsuchen. Eventuell wird er auch einfach in der Nähe des HC gespawnt oder so. Beim ersten Block hast Du aber Recht, da fehlt die eigentliche Checkvariable.
Ist trotzdem ein ziemicher Zufall gewesen, weil auch mit der Checkvariablen zwar kein Stutter auftritt, die Variable für einen aktiven breagar-Dialog aber trotzdem gesetzt ist, und man diesen auch außerhalb der Areas auslösen könnte, wenn man ihn einfach über Klicktalk anspricht. Da müssten also, wenn das für den weiteren Verlauf des Dialogs wichtig ist, die Areacheck-Abfragen auch in den Dialogstart mit rein.
 

Quentin

Senior Member
Registriert
10.09.2008
Beiträge
447
So, es wird noch ein wenig seltsamer. Ich habe Renfeld gefunden (der vergiftete Harfner) und hatte dasselbe Problem bei ihm (sollte mich ansprechen, hatte aber einen Stutterbug). Es war auch gar nicht so einfach, Renfeld selbst dann anzusprechen.

Und: normalerweise treffe ich Renfeld, wenn ich außerhalb der Stadt bin. Diesmal war es innerhalb. Möglicherweise hat die Breagar-Mod das gemacht, weil ich ja jetzt auf der Suche nach der Axt bin und die Harfner dafür benötige...
Renfeld taucht manchmal auch innerhalb der Stadt auf, das liegt am Originalspiel und ist auch ohne Mods so.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Auch hier feuert ein Skript permanent: ARAC00.BCS (müsste immer der letzte Block sein)
Code:
IF
    Global("ACDROWITEMCHECKDONE","GLOBAL",0)
THEN
    RESPONSE #100
        SetInterrupt(TRUE)
        DisplayStringHead(Myself,494092)  // Running block 92 of ARAC00.BCS
END
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Jede Menge Probleme mit der Anstinus-Quest...

a) Ellie nimmt alle Unsichtbarkeitstränke (bis zu 24), nicht nur einen
b) wenn man alle Zutaten auf den Tisch gelegt hat, dann kann das Skript in eine Dauerschleife geraten und jede Menge der unsichtbaren Kreaturen (ACVIRGI) spawnen, wenn das Area-Skript aus irgendeinem Grund nicht sofort den Dialog triggert.
edit: es gerät immer in Dauerschleife, weil der Block unter c) looped; wenn man die beiden Blöcke rausnimmt, dann funktioniert es.
c) ACVIRGI.BCS ist ein total seltsames Skript:
der Teil hier ist doppelt drin und ich habe keine Ahnung, wozu er überhaupt gut sein soll:
Code:
IF
    Global("ENDOFBG1","GLOBAL",2)
THEN
    RESPONSE #100
        Continue()
END
und dann kommt noch das Level-Up Skript für Breager??
edit: Ich glaube ich weiß auch warum... die wird zum Level-Up an mehreren Stellen benutzt, weil auch nach dem Level-Up noch ein DestroySelf kommt... und daher kommt auch die komische ENDOFBG1 Abfrage, die in der ACVirgi.baf nicht drin ist.

Die Doppelungen könnten daher rühren, dass für die cre und die dlg abgefragt wird, ob die Dateien schon existieren. Für die bcs aber nicht. Wird also bei der Installation 2x ausgeführt?

d) Der Spawn für ACVIRGI ist auf dem Container, das geht auch nicht gut. [427.949] wäre vllt besser.

e) Sowohl der Schutzstein (von Anstinus) also auch der Explo-Trank von Ellie werden nicht übergeben, sondern auf den Boden gelegt. Das kann schnell mal schief gehen, wenn jemand nicht aufpasst. Die Übergabe wird wohl über DropInventory() gemacht, nicht über GivePartyItem oder ähnliches.
 
Zuletzt bearbeitet:

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
Zu e): DropInventory() wird nur an ein paar Stellen verwendet, bei Breagars Unfall, bei dem Übergang zu BGT, und wenn der geist Austinus verschwindet. Ich vermute eher, dass Dein Inventar zu voll war.
Ansonsten danke, kommt auf die Liste.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
nein, Gepäck war leer. Also jede Menge Slots noch frei (bei jedem Char mind. 3; und es war ja jeweils nur 1 Item).
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
OK. :hae:
Dass die "Verlobte" so gierig ist hatte ich schon auf der Liste - ist natürlich ärgerlich, ich weiß nicht, wann ich wieder Zeit für Breagar haben werde. Sie scheint jedenfalls wirklich sicher gehen zu wollen, unerkannt vorbeizukommen..
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
Übrigens: dass ich Breagar update, ist nicht in Stein gemeißelt. Ascalon hat ihn dem Forum in treue Hände gegeben, nicht mir. Es darf sich also jeder befähigt fühlen, Fixes bereit zu stellen. ;) Auch, dass das GitHub repo grad in meinem persönlichen GitHub ist muss so nicht bleiben, aber das würden wir wohl besser an anderer Stelle diskutieren.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Wenn man Breagar das erste Mal in Kap 3 anspricht, dann gibt er einem nicht die Aufgabe, das nicht-beschmutzte Eisen zu holen. Und dann kommen einige Dialoge etwas überraschend. Ist wohl einfach nicht vorgesehen, dass man so vorgeht und ich weiß auch nicht, ob es sich lohnt, da ran zu gehen.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Weitere interessante Elemente auf ACVIRGI.BCS:

Code:
IF
    CheckStatGT(Player1,66666,XP)
    CheckStatLT("ACBRE",33334,XP)  // Breagar
THEN
    RESPONSE #100
        AddXPObject("ACBRE",33333)  // Breagar
        DisplayStringHead(Myself,485487)  // Running block 78 of ACVIRGI.BCS
END
Da gab es gerade XP für Breagar, obwohl er gar nicht in der Gruppe ist.

Code:
IF
    GlobalLT("ACVIRGISELFDESTRUCT","LOCALS",9)
THEN
    RESPONSE #100
        IncrementGlobal("ACVIRGISELFDESTRUCT","LOCALS",1)
        DisplayStringHead(Myself,485413)  // Running block 4 of ACVIRGI.BCS
        Continue()
END

Der Block ist auch noch gelaufen. Und zur Info: wir sind in BG1. Meine Vermutung: wird sind in Tonders Haus und haben ihn geheilt. Irgendwie ist da die ACVIRGI gespawnt worden (ist im Area-Skript auch ein Destroy für die Kreatur drin). Und jetzt läuft halt deren Skript ab. Das wird man auch kaum beheben können, weil die VIRGI-Kreatur viel zu oft eingesetzt wird. Da kommen dann die Skripte schon mal durcheinander.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
Irgendwie ist da die ACVIRGI gespawnt worden (ist im Area-Skript auch ein Destroy für die Kreatur drin).
Ja, das gehört da hin. Virgini teleportiert die Gruppe aus dem Haus raus solange Tonder ein Werwolf ist.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Breagars Kit hat wohl einen Fehler. Das Spiel erkennt nicht, dass er ein Kämpfer ist. Habe ich an zwei Stellen bemerkt: bei NPC customization bekommt er als Level 0 Charakter nicht die 4 Punkte als Kämpfer (er bekommt gar keine, fehlt also die Klasse) und bei den Boni des Liedes des Strategen bekommt er die Boni für none-warrior.

Ich schau mal rein, ob ich das fehlende Flag finde...
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
Danke, weil damit kenne ich mich nicht aus.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Also zumindest ist es erstmal nichts Offensichtliches. Aber das wäre auch schon früher bemerkt worden. Heute Abend geht es dann ins "Kleingedruckte" ;)
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
Ascalons Breagar updatet zur 12.1.0 mit kleinen Verbesserungen. Unter anderem mit CamDawgs Tweak der verhindert, dass Breagar zweihänderwaffen ausrüsten kann, wenn es storymäßig nicht gehen sollte.

Changelog:
-EE: Breagar can't equip two-handed weapons where appropriate due to story reasons, by CamDawg
-EET: Breagar should spawn in ID if he was in party in SoD
-Fixed trigger for comment in SoD bd4300.
-updated crossmod with Another fine Hell mod
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
d) Der Spawn für ACVIRGI ist auf dem Container, das geht auch nicht gut. [427.949] wäre vllt besser.
Die Helfercre wird über CreateCreatureImpassable gespawnt und soll ja auch icht im Weg sein, was stört Dich an dem Ort?

Und: guter Fund mit den Questitems, die auf den Boden gelegt werden. Da war tatsächlich ein DropItem, auch im Questpack habe ich das gefunden. Werde ich zu GiveItem umändern.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.721
Hm, weiß ich nicht mehr, was da gestört hat, aber möglicherweise konnte man dann nicht auf den Container zugreifen?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.442
Breagar updatet zur 12.2.0 mit einer kleinen Überraschung! Er verwendet jetzt die Energiezellen aus irenicus' Dungeon, um seinen Arm zu verstärken. Hierzu habe ich ein fertiges Item mit Beschreibung verwendet, das bereits in der Mod vorhanden war. Die Dialogtexte ist von mir. Die russische Übersetzung der neuen Texte ist von paladin84.
Breagar wird nun, nachdem er die Bemerkung über die Energiezellen macht, die Duergarschmiede in der Ausgangsebene des Irenicus' Dungeon kommentieren. Man kann ihn dann über PID mit den Energiezellen arbeiten lassen. Falls man dort nicht dazu kommt bleiben diese nun im Inventar beim Verlassen des Dungeons. Dann arbeitet Breagar in Cromwells Schmiede daran, wenn man ihn über PID anspricht.
Es gab noch zwei weitere Itembeschreibungen, die jeweils Pips hinzugefügt hätten. Für diese waren die Items nicht fertig, daher habe ich sie nicht verwendet.

Changelog:
-Breagar will now use the energy cells from Irenicus' Dungeon to upgrade his silver arm (either in ID at the duergar forge or at Cromwell's if talked to); Russian translation by paladin84.
-BGII(:EE): Imoen's interjection to Breagar's remark about energy cells should fire, too (corrected wrong DV and dlg for Imoen in ID).
-Quest characters should take only one instance of items, not the whole stack.
-Quest characters should not drop quest items onto teh floor instead of giving them to the PC.
-Minor fixes (potential stutter, looping trap script)
-Added EE specific item descriptions.
-reworked compatibility with Tweak Anthology's "Two-handed axes".
 
Oben