Bien déjà il va falloir utiliser NWNX, et donc MySQL afin d'obtenir l'heure réel et non pas l'heure dans le jeu, afin de pouvoir compter les jours même si le serveur plante. Donc il serait bon de savoir si tu t'y connais un peu avec ça, et si ton module a un lien SQL.
Après il faudrait décider sur quel évènement de quel objet attacher ton script, le mettre dans le heartbeat est je crois une mauvaise idée, peut être sur les portes de l'auberge, dans le OnUsed?
Tiens voici une fonction qui pourrait t'aider :
Attention elle est dépendant de NWNX, donc il faudra probablement un #include "nwnx_include" ou un truc ainsi en début du fichier script.
Je dirai 1 script perso. Et d'ailleurs qu'un seul objet clef dans la palette aussi.