Quoting from the e-mail I sent you:
CHAIN blablabla (don't remember how to call it)
SAY ~Hello~
== somecre ~hi~
== Viconia IF ~InParty("Viconia")~ THEN ~OMG Beholders kill them!!!~
END
++ ~Uh oh...~ GOTO uhoh
++ ~Die!~ GOTO die
All transitions are copied in all states, and, if both are present, the engine chooses the ones without replies automatically).
See also Chloe's coding for similar examples (this one's APPENDs can be united in a single CHAIN IIRC, but the idea is the same) (hopefully LucyTheBeast won't kill me for having used her code) (this parenthesis has no purpose):
APPEND CHLOEJ
IF ~~ THEN BEGIN GTKUYrkai
SAY @307
= @308
= @309
= @310
IF ~~ THEN REPLY @311 DO ~IncrementGlobal("ChloeInterest","GLOBAL",1)~ EXIT
IF ~~ THEN REPLY @312 GOTO GTKUYrkai2
IF ~~ THEN REPLY @224 GOTO GTKUYrkai1
IF ~IsValidForPartyDialog("Aerie")~ THEN EXTERN AERIEJ GTKUYrkaiAvariel
END
END
APPEND AERIEJ
IF ~~ THEN BEGIN GTKUYrkaiAvariel
SAY @313
IF ~~ THEN REPLY @311 DO ~IncrementGlobal("ChloeInterest","GLOBAL",1)~ EXIT
IF ~~ THEN REPLY @312 EXTERN CHLOEJ GTKUYrkai2
IF ~~ THEN REPLY @224 EXTERN CHLOEJ GTKUYrkai1
END
END
EDIT: see sarev25a.dlg, state 0, for an in-game example.