This script is far more efficient than what I've been using, thanks! For anyone who wants the exact code, this is what I used:
[INIT]
CharacterSetVarInteger(CHARACTER_TestDelete, "TestDeleteDialog", 1);
[KB]
IF
DialogStartRequested(CHARACTER_TestDelete, _Player)
AND
CharacterGetVarInteger(CHARACTER_TestDelete, "TestDeleteDialog", 1)
THEN
DialogStartTwoSpeakerDialog("firstdialog",CHARACTER_TestDelete,_Player);
IF
DialogStartRequested(CHARACTER_TestDelete, _Player)
AND
CharacterGetVarInteger(CHARACTER_TestDelete, "TestDeleteDialog", 2)
THEN
DialogStartTwoSpeakerDialog("seconddialog",CHARACTER_TestDelete,_Player);
IF
GlobalEventSet("StubbornPlayer")
THEN
CharacterSetVarInteger(CHARACTER_TestDelete, "TestDeleteDialog", 2);