En plus on ne peut pas rajouter de classe de lanceurs de sorts il me semble.
Enfin puisque je viens de me rappeler de ce sujet je vais en profiter pour faire une petite liste de fonctions comme demander par Azra :
void SetName(object oObject, string sNom);
(Pour séparer le prénom du nom d'une créature, on utilisera par exemple un séparateur |)
int AddItemProperty(object oItem, int nProperty, int nParam1, int nParam2);
int RemoveItemProperty(object oItem, int nProperty, int nNth = 1);
int SetItemPropertyParameter(object oItem, int nProperty, string sValue, int nNthParameter, int nNthProperty = 1);
string GetItemPropertyParameter(object oItem, int nProperty, int nNthParameter, int nNthProperty = 1);
int SetObjectAppearance(object oObject, string sValue);
int SetObjectAppearancePart(object oObject, int nAppearancePart, string sValue);
int SetObjectColor(object oObject, int nObjectPart, int nColorValue);
string GetObjectAppearance(object oObject);
string GetObjectAppearancePart(object oObject, int nAppearancePart);
int GetObjectColor(object oObject, int nObjectPart);
int SetSpeed(object oCreature, int nValue);
void SetDescription(object oObject, string sValue);
int SetPhenotype(object oCreature, int nPhenotype);
int GetSpeed(object oCreature);
string GetDescription(object oObject);
int GetPhenotype(object oCreature);
void SetAge(object oCreature, int nValue);
int SetGender(object oCreature, int nValue);
void SetDeity(object oCreature, string sValue);
int SetAbilityScore(object oCreature, int nAbility, int nValue);
void BindScriptToEvent(object oObject, string sEvent, string sBoundScript);
Et plus hypothétiquement :
int AddInnateSpell(object oCreature, int nSpell, int nTimesPerDay);
Voilà, j'ai trouvé tout ça en regardant la structure d'un fichier d'objet sous Leto, donc logiquement ça devrait également se trouver dans la DB.
Les int renvoyés par certaines fonctions Set* sont des booléens qui témoignent du succès de l'opération (compte tenu que certaines valeurs ne peuvent pas correspondre pour certains champs, par exemple des nombres négatifs pour les caras).
Pour la dernière commande, je sais que le Character Creator de CODI est capable de rajouter des sorts innés dans le menu radial du PJ, donc je me suis dit que ça serait sympa de pouvoir le faire également par script. Enfin j'ai pas trouvé où les sorts connus étaient référencés dans le fichier ITP, donc je suis pas sûr du tout de sa faisabilité.
Dernière chose Azrael, tu parle d'un programme qui lira les logs pour y trouver les commandes précitées, mais la question est : quand-est ce qu'il les lira ? Pourquoi ne pas essayer d'utiliser le NWNX, qui détecte certaines actions du nwmain pour ensuite agir en conséquence ?
En dehors de ça, bonne chance