Jump to content

Help with APPENDs


Troll

Recommended Posts

I'd put the block of dialogue in the character's JXXX.DLG file instead, and use StartDialogueNoSet("blah"), but it should work in principle.

 

You'd want to call the Interact() command saying Cromwell, not Larok, since the dialogue is with Cromwell. Assuming you're putting this in Larok's script.

 

IF
AreaCheck("AR0300")
Global("SomeVariable","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("SomeVariable","GLOBAL",1)
StartDialogueNoSet("CromwellsDeadVariable")
END

 

You may also consider setting the variable to stop repeats in the dialogue rather than the script, but personal preference.

 

If you wanted to make Cromwell speak first you'd append to Cromwell's script, have a check for Larok being in the party and alive, and then get Cromwell to StartDialogueNoSet("LaroksDV").

Link to comment

What you are giving me is a line from your D-file. What am I looking for is a line from your BAF.

 

Let's take it again from the top. Please, read and understand the following below:

 

There are two types of dialogues.

 

1) ones that are prompted independently by the banter engine. They only require additions to D (dialogue) files to work properly. All the dialogues that you just want to occure "sometime" are the banter engine one that do not require scripting.

 

2) The dialogues that happen when you enter the area, see someone, killed a monster, any other certain event occured, require additions to 2 files. The D (dialogue) file and BAF (the script). The dialogue file and script file are interconnected via the Global you are setting in BAF.

 

Below is the block from BAF file, or your character's override script:

 

IF
AreaCheck("AR0300")
Global("SomeVariable","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("SomeVariable","GLOBAL",1)
Interact(Player1)
END

 

What it does line by line is:

 

in the "IF" portion of the structure it CHECKS the CONDITIONS: We are in the area ("AR0300").

 

in the "THEN

RESPONSE #100"

 

portion it sets the Global that SHOULD correspond to the condition on the D file and SHOULD be UNIQUE (Ie SomeVariable has to become #CromwelSpeakstoLarok" or some other unique identifier), and tells characters WHAT to do. If you do not specify which character performs the action it will be Larok, the creature to which the script is assigned. If you use ActionOverride, you can use a creature's Death Variable (or script name) to transfer the action to another creature.

 

For every separate CONVERSATION that triggers under specific circumstances you will need a separate BLOCK in your BAF file.

 

Now, do the following:

 

1) Usings IESDP find the AREA name corresponding to Cromwell's shop.

2) Using IESDP find me the Trigger that corresponds to seeing someone

3) Read up in the IESDP on the ActionOverride Action

4) Read up in IESDP on "StartDialogueNoSet" Action

5) Using NI, find script name (death variable) for Cromwell

6) Using ALL 4 components above re-write the BAF block above and the D block in your post so it will do the following: when creature with the script name of Larok sees a creature with the script name of Cromwell in the Area "Cromwell's Shop", it prompts Cromwell to initiate a dialogue.

Link to comment

Archived

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

×
×
  • Create New...