Jump to content

Component Dialog Help Needed


grogerson

Recommended Posts

I'm posting this here for a simple reason. I've been working to convert two components of this mod for use with BG1 Tweaks, and for the most part successfully. Unfortunately, both have dialog components that do not want to install.

 

First is Bardic Reputation Adjustment.

 

From the setup.debug:

[tb#_compile_eval_buffer/Bardic/dlg/X#LP1REP.D] PARSE ERROR at line 94 column 1-5
Near Text: CHAIN
syntax error

[tb#_compile_eval_buffer/Bardic/dlg/X#LP1REP.D]  ERROR at line 94 column 1-5
Near Text: CHAIN
Parsing.Parse_error
ERROR: parsing [tb#_compile_eval_buffer/Bardic/dlg/X#LP1REP.D]: Parsing.Parse_error
ERROR: compiling [Bardic/dlg/X#LP1REP.D]!
Stopping installation because of error.

 

Here is the failed code from x#lp1rep.d.

/* Sales pitch - NPCs interject here and meeting globals get set here */
CHAIN ~X#LP1REP~ X#Troubador1OfferInterested
@16
== ~%SAFANA_BANTER%~ IF ~InParty("safana") Detect("safana") !StateCheck("safana",CD_STATE_NOTVALID) Global("X#SafanaRep","GLOBAL",0)~ THEN @17 DO ~IncrementGlobal("X#SafanaRep","GLOBAL",1)~...

 

If I skip this part in the tp2 it continues to install until Ajantis comments. I've no idea what is PID connected (which would be nice to have, but not needed), and what isn't, but as the error says, the CHAIN fails and I don't have the skill to understand why.

 

The second component is Move NPCs.

 

From the setup.debug I get the following.

[trigger list near line 3, column 60 of tb#_compile_eval_buffer/MoveNPCs/dlg/x#aloramoves.d] PARSE WARNING at line 3 column 1-43
Near Text: )
[AreaCheck] not found in TRIGGER.IDS
WARNING: cannot verify trigger ~NumTimesTalkedTo(0) AreaCheck("%Gullykin%")~: Parsing.Parse_error
ERROR: No translation provided for @0

[tb#_compile_eval_buffer/MoveNPCs/dlg/x#aloramoves.d]  ERROR at line 4 column 1-6
Near Text: @0
Not_found
ERROR: parsing [tb#_compile_eval_buffer/MoveNPCs/dlg/x#aloramoves.d]: Not_found
ERROR: compiling [MoveNPCs/dlg/x#aloramoves.d]!
Stopping installation because of error.

 

From x#aloramoves.d, the flagged code is this.

IF WEIGHT #-2 ~NumTimesTalkedTo(0) AreaCheck("%Gullykin%")~ THEN BEGIN AlJoin
SAY @0
++ @1 DO ~SetGlobal("P#TalkedToAlora","GLOBAL",1)~ + ALJONE1.1
...

Again, being a scavenger rather than a true modder, I've only minimal understanding of the code and why it fails.

 

Someone willing to point me in the right direction with these problems?

Link to comment

I'll take another look at the Area Check emulation thread to see how to apply it, but I've already run it at the start of the component. Since the error is at the start of rewriting her initial dialog, it's the biggest, and so far only, error in getting it to work. Quayle and Tiax have no problems (Eldoth is accessible with the Open Cloakwood tweak).

 

(EDIT: Thanks, jastey, I found what I needed to get the component to install completely. I looked at the alora.dlg file in NI and found it didn't replace the original dialogs, but appended the file. The new dialogs fall at states 16 thru 24. It doesn't appear to be a problem, however, since a quick run to the Firewine ran the appropriate dialog. Requesting permission to include in the next BG1 Tweaks release, with appropriate attribution stated.)

 

As for what's missing to run the CHAIN in the Bardic component, I don't understand the syntax enough. Any help there?

Link to comment
If you are asking for permission of BG1NPC content for a (vanilla) BG content I think no one objects there.

It is, and thank you.

 

I started reworking the Bardic Reputation Adjustment component, primarily the x#lp#rep.d files. I must be learning something. This time I actually got it to install after removing the party banters/interjections, and a couple of related labels.

 

I will check both components out in play and make sure they work properly. Again I'll ask permission, this time to include the modified Bardic Reputation Adjustment in the next version of BG1 Tweaks.

Link to comment
For the CHAIN error, you need to post the block before the error.

Seems the real problem wasn't the CHAIN, but me. Oh, and the %(NPC)_BANTER%.dlg command. Since I'm not working the whole pie (banters/interjections/romances), those files aren't included. Party interjections don't exist in vanilla BG1, which is why your project started if I guess correctly.

Link to comment

Bardic Reputation Adjustment almost works ... but the bards just aren't there. Checked things with NI, the CRE's were created, with their dialogs and baf files. The area files, however, do not have them.

 

/* Area Scripts for spawning */
 EXTEND_BOTTOM ~%FriendlyArmInn_L1_BCS%.bcs~ ~Bardic/baf/X#LP1REPAS.BAF~ //The Friendly Arm Inn
EVALUATE_BUFFER
 EXTEND_BOTTOM ~%BelchingDragonTavern_BCS%.bcs~ ~Bardic/baf/X#LP2REPAS.BAF~ //The Belching Dragon
EVALUATE_BUFFER
 EXTEND_BOTTOM ~%ElfsongTavern_L1_BCS%.bcs~ ~Bardic/baf/X#LP3REPAS.BAF~ //The Elfsong
EVALUATE_BUFFER

I also have files shown above for the EXTEND_BOTTOM. Me thinks I need to change the ~%(area name)%.bcs~ to the proper area bcs. To do that, don't I need to copy the bcs to the override then EXTEND_BOTTOM? Or is there something else I'm missing with the code?

 

Edit: I can CreateCreature and everything runs fine. I did the change above and the area bcs's are now showing the bards, but they still don't appear. Is there something more I need to know, code or time wise, for them to appear?

Link to comment

grogerson, since BG does not need those cross-platform variables, you can convert them directly and drop the EVALUATE_BUFFER.

 

Here are the values as assigned in bg1npc that fill in those %variables%. i think the area scriots are BG script numbers renamed "FW" instead of "AR", so swapping that out would be quick with a mass replace.

g3_tutu_cpmvars.rar

tutu_area_script_assign.rar

 

 

The code above, for example, if you have checked X#LP[1,2,3]REPAS.BAF to make sure there is no variable left in them, would be

 

/* Area Scripts for spawning */
 EXTEND_BOTTOM ~AR2301.bcs~ ~Bardic/baf/X#LP1REPAS.BAF~ //The Friendly Arm Inn
 EXTEND_BOTTOM ~AR4809.bcs~ ~Bardic/baf/X#LP2REPAS.BAF~ //The Belching Dragon
 EXTEND_BOTTOM ~AR0705.bcs~ ~Bardic/baf/X#LP3REPAS.BAF~ //The Elfsong

 

I think those files also show the conversion of stuff like %VICONIA_BANTER%, which is BVICONI in BG, I think.

 

To be clear, anything inside %these_two_percent_ssigns% needs to be swapped in for the original BG values. You are reverse-reverse-reverse-reverse engineering - the code was meant to use a reverse engineering tool (weidu) to make a two separate conversions of the original resources into another game engine be able to refer to the original game resources under different naming conventions. So basically, you are using a smartphone to hammer in tent-pegs! Just drop the smartphone, pick up a rock, and whale away.

Link to comment

Check the dv vs cre name vs bcs extension - and check on CreateCreature calls in the script. I think Jastey and Zed said BG uses slightly different calls, requiring an extra "face" coordinate, or something.

 

 

You are doing a cool thing for BG players, more power to you. Darned hard to bake BG2 stuff work on BG.

Link to comment
Check the dv vs cre name vs bcs extension - and check on CreateCreature calls in the script. I think Jastey and Zed said BG uses slightly different calls, requiring an extra "face" coordinate, or something.

 

You are doing a cool thing for BG players, more power to you. Darned hard to bake BG2 stuff work on BG.

Thanks. I'll have to go back over the BG1 Tweaks stuff and see what's needed.

 

You modders, you, Zed, DavidW and the rest, have done the real hard work - creating all this good stuff. I'm just a scavenger converting others work...

Link to comment

O...kay! I've got the Bardic Reputation functioning, sorta (see the BG1 coding Tutorial thread). Now I'm back looking over your mod because of an area check in the x#lp1/2/3r.baf files. Then I find another file I missed -- x#lakep.baf.

 

Are they (the bards) supposed to start in the Peldvale and move to the various inns, or is there something else I need to know in fully converting this component to BG1?

Link to comment

heck - you probably need to find out if BG has Activate()/Deactivate() or not. I can't check code right this minute but will tomorrow. If I remember correctly, one bard per tavern. They show up, then do their stuff if PC wants, then deactivate themselves for three game days or something like that (probably more). I'll have to re-research, unless berelinde comes along and fills in the details. I am pretty sure the lakep.baf is the "all three bards compte" cameo that was in place before we came up with the idea of using the same characters spread across the inns.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...