Jump to content


question concernig bcs/dlg file naming


  • Please log in to reply
10 replies to this topic

#1 -David-

-David-
  • Guest

Posted 10 June 2003 - 09:25 PM

Help please concerning file names for dlg and bcs files. Let us assume xxxx = npc, in my case Azrii. Is the following 'correct'?
xxxxD.bcs=default bcs=fighting routine
xxxxG.bcs=general bcs=initial paramaters for joining -used with xxxxJ.dlg
xxxxO.bcs=override bcs=settings for global,local variables for romance,
quests,etc.
xxxxJ.dlg=initial dialog/joining- used in conjunction with xxxxG.bcs
xxxxP.dlg=kickout routine
xxxxD.dlg=dream routine, could this mean romance/quests
conjunction with xxxxO.bcs
xxxx.dlg=general banter routine
I've been learning weidu and nearinfinity and I think the light is about to click on but I'm still a little short of connecting the dots. I'm afraid of duplicating work due to not properly understanding proper file names and how they work together. Of course it isn't the work but the looping of actions,triggers, etc I'm going to have that concerns me. Thanx in advance

#2 Cocobard

Cocobard
  • Member
  • 5 posts

Posted 11 June 2003 - 09:31 AM

I think you should look the 2DA files that define which dialog are used by which NPC, for example you could only use one dlg file in any case (I think that's what Sola does). The 2DA are INTERACT.2da and PDIALOG.2da if I remember.

#3 -Ghreyfain-

-Ghreyfain-
  • Guest

Posted 11 June 2003 - 10:13 AM

xxxxD.bcs=default bcs=fighting routine


While the NPC hasn't joined the party, yes. See xxxxO.bcs

xxxxG.bcs=general bcs=initial paramaters for joining -used with xxxxJ.dlg


Same thing. G.bcs wouldn't exist in an NPC that's joined the party, so it couldn't use J.dlg.

xxxxO.bcs=override bcs=settings for global,local variables for romance,
quests,etc.


Override is the only script that stays with the NPC after they have joined the party. All others are removed.

xxxxJ.dlg=initial dialog/joining- used in conjunction with xxxxG.bcs


Nope, this is only after having joined. For the intial dialogue, you'd use xxxx.dlg, which you assign in the .cre file, not a .2da.

xxxxP.dlg=kickout routine


Yes, out of Party. If you kick them or they have been kicked and want to rejoin, this is the dialogue you would use.

xxxxD.dlg=dream routine, could this mean romance/quests
conjunction with xxxxO.bcs


There is no xxxxD.dlg, it's xxxxD.bcs, which is a script that has an additional trigger attached to every condition in the script. That trigger is basically "The player has clicked the rest button, but we haven't rested yet." You could use either xxxxJ.dlg or xxxxB.dlg to have the dialogue for this.

xxxx.dlg=general banter routine


Nope, banter goes in the xxxxB.dlg file, as assigned via interdia.2da.

#4 davidt123

davidt123
  • Member
  • 4 posts

Posted 11 June 2003 - 03:42 PM

Thanks Ghreyfain. I was making things way to complicated. So if my npc is called Azrii the following would be true?
Before join - azrii.dlg/azriid.bcs (default slot)
join - azriij.dlg
after join - banter/quests/romance - azriib.dlg/azriio.bcs (override slot)
kickout - azriip.dlg
then appropriate TOB changes. Is fighting routine needed after join(inParty) since player can control this with script command in game? If it is, is best place at beginning of override BCS?

#5 Kismet

Kismet

    Mild Thang

  • Member
  • 348 posts

Posted 11 June 2003 - 06:49 PM

before join -- azrii.dlg/azrii.bcs (override slot)
after join -- bazrii.dlg/same
kickout -- azriij.dlg
for anything that happens upon rest -- azriid.bcs (assigned via pdialog.2da)

If you want to give him a general AI script, you'd probably want to write it up separately as azrii.bs and put it in the scripts folder so the player could assign it or not.

edit: fixes typo

#6 -Ghreyfain-

-Ghreyfain-
  • Guest

Posted 11 June 2003 - 09:33 PM

Actually after joining is azriiJ.dlg, which is invoked via the Dialogue() set of scripting actions, or via dialogue-clicking the NPC.
azriiB.dlg is for banter, which is invoked by the random banter engine, or by the scription action Interact().

Whichever .dlg file you assign to the .cre file will be wiped when they join the party. The default is multig.dlg, unless you have appropriate entries in the necessary .2da files. Try ctrl+Q'ing a rat or something, then kick it out. It'll give the basic multiplayer kicked-out line.

#7 Kismet

Kismet

    Mild Thang

  • Member
  • 348 posts

Posted 12 June 2003 - 02:19 AM

Actually after joining is azriiJ.dlg, which is invoked via the Dialogue() set of scripting actions, or via dialogue-clicking the NPC.

Oops, fixed.

azriiB.dlg is for banter, which is invoked by the random banter engine, or by the scription action Interact().


Except, of course that the B comes before the name rather than after. :)

#8 japheth

japheth

    Codewalker

  • Member
  • 317 posts

Posted 12 June 2003 - 07:36 AM

Except, of course that the B comes before the name rather than after.


That depends on what you've entered into interdia.2da. :)
Check out BG1Tutu.

#9 Kismet

Kismet

    Mild Thang

  • Member
  • 348 posts

Posted 12 June 2003 - 09:24 AM


Except, of course that the B comes before the name rather than after.


That depends on what you've entered into interdia.2da. :)

Huh, really? I was under the impression it had to be in the Bioware format. Well I guess that's my new thing learned for today. :)

#10 japheth

japheth

    Codewalker

  • Member
  • 317 posts

Posted 12 June 2003 - 11:37 AM

Heh. Well, if you're coding any sort of NPC that will have banter, you should probably stick to the Bxxxx naming convention for continuity sake.

However, yes, you can put anything in interdia.2da as a dialogue name. :)
Check out BG1Tutu.

#11 -jcompton-

-jcompton-
  • Guest

Posted 12 June 2003 - 07:42 PM

...anything 8 letters long, that is. And not already used by the game (unless for some reason you want to reuse something used by the game.)

Etc. :)