Add a counter to the Caravan packer quest. Each time you unload a box, there shall be a system/emote feedback on that, so new people know, that they are putting the boxes to the right place (this was an issue for me at Graveyard location, I didn't know where to unload the boxes) and for others as a QoL change.
This is a half assed solution but good enough imo, a better one would be to make a generic quest tracker, maybe some day
Sample code based on Reloaded Season 2 source:
File: quest_caravan_box.fos
void _OnDropBox(Item& item, Critter& cr)
...
GameVar@ var = GetUnicumVar(UVAR_q_box_unload_count, npc.Id, cr.Id);
if(valid(var))
var -= 1;
if(var < 0)
var = 0;
//////////// ADD THESE ///////
if (var > 0) {
int boxesLeft = var.GetValue();
cr.Say(SAY_NETMSG, "You've unloaded a caravan box. There is only " + boxesLeft + " more to go.");
cr.Say(SAY_EMOTE_ON_HEAD, "*phew*");
} else {
cr.Say(SAY_NETMSG, "You've unloaded all the caravan boxes, speak to the caravan packer.");
cr.Say(SAY_EMOTE_ON_HEAD, "*stretches back*");
}
//////////////////////////////////
DLog("Box collected!");
DeleteItem(item);
return;
}
...
Note:
In the original code the part from: if(valid(var)) is either faulty, or this check is not needed at all. I did not correct this part, assuming that S3 already did that.