Oui en effet, dans ma précipitation de gagner un temple de la gloire j'ai oublié un morceau de code :
La commande SetCampaignInt va effectuer les 2 opérations nécessaires évoquées par Elynehil.
Duplique le script ga_journal en pa_journal et rajoute un paramètre:
void main(string sQuestTag, int nEntryID, int bAllPartyMembers, int bStockInDatabase, int bAllPlayers, int bAllowOverrideHigher)
{
object oPC = (GetPCSpeaker()==OBJECT_INVALID?OBJECT_SELF:GetPCSpeaker());
AddJournalQuestEntry(sQuestTag, nEntryID, oPC, bAllPartyMembers, bAllPlayers, bAllowOverrideHigher);
if (bStockInDatabase = 1)
{
SetCampaignInt("Quest", sQuestTag, nEntryID, oPC);
}
}
A partir de là tu n'as plus qu'a utiliser pa_journal en lieu et place de ga_journal.
La variable bStockInDatabase a été rajoutée, ce qui permet de choisir au nomment de l'appel de ce script si la quête doit être persistante ou pas.
Ce dernier point est important car toutes les quêtes n'ont pas a être persistantes, faire un mix des deux c'est pas mal aussi.
Ces 2 scripts sont très simples a implémenter, par contre juste un petit défaut, autant te prévenir, chaque joueur va avoir un méchant "bip" lors de son entrée dans le module. Cela correspond à la mise à jour du journal de quête.