If I understand you folks correctly, after looking at the IESDP,
This means that all I need to do is
//in ~_myNPCsTutuDialogFile~, this (NPCstartsearch set to 1 by a previous interaction):
IF WEIGHT #-2
~Global("NPCstartsearch","GLOBAL","1")~ THEN BEGIN NPCSEARCH
SAY ~ ok, see you in two game days~ DO ~SetGlobalTimer("NPCSearch", "GLOBAL",TWO_DAYS)~
IF ~~ THEN DO ~GiveItemCreate("MyItem","Player1",1,1,0) SetGlobal("NPCstartsearch","GLOBAL","2") Deactivate("myNPC")~ EXIT
END
//EXTEND area.bcs either top or bottom, (more research for me) this:
IF
GlobalTimerExpired("NPCSearch", "GLOBAL")
THEN
RESPONSE #100
Activate("myNPC")
MoveToObject("Player1")
ActionOverride("myNPC", StartDialog("myNPCsDialogFile", Player1))
END
//Back in ~_myNPCsTutuDialogFile~, this:
IF WEIGHT #-2
~Global("NPCstartsearch","GLOBAL","2")~ THEN BEGIN NPCSEARCHFINISHED
SAY ~ Well, <CHARNAME>, I found the other item. What say you?~
++ ~Yes, I want to do this~ + NPCQUEST2
++ ~No, I want nothing to do with you now~ EXIT
END
and this would result in "myNPC" disappearing for two days, reappearing in area and walking to the party, and starting the conversation again. The NPC retains all current info, including locals set by the initial conversation, untouched, in the save. I could extend this by moving the NPC away from the party before deactivation, so that it appears as if they walk away. This usage should avoid messing with anything other mods have set up for the character.
Am I on track?