Explication de la structure des descriptifs de fonctions NWN-SCRIPT :
// Does a Reflex Save check for the given DC
Cette partie explique le fonctionnement général et/ou l'utilité de la fonction.
// - oCreature
// - nDC: Difficulty check
// - nSaveType: SAVING_THROW_TYPE_*
// - oSaveVersus
// Returns: 0 if the saving throw roll failed
// Returns: 1 if the saving throw roll succeeded
// Returns: 2 if the target was immune to the save type specified
Cette partie explique et détaille les paramètres qu'on peut passer à la fonction en question.
C'est à rapprocher, bien sûr, de la déclaration du prototype de la fonction donnée en dessous.
// Note: If used within an Area of Effect Object Script (On Enter, OnExit, OnHeartbeat), you MUST pass
// GetAreaOfEffectCreator() into oSaveVersus!!
Note relative à des détails spéciaux.
int ReflexSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF)
Prototype de la fonction telle qu'elle est déclarée par Bioware. On retrouve ici le type de valeur retourné par la fonction : int dans le cas de celle ci. Ca veut dire que la valeur retournée peut être stockée dans une variable de type int. Il existe des fonctions retournant tout type de variables : string, int, object, effect etc.
On y retrouve aussi le type des paramètres à passer lors de l'appel de la fonction.
Pour l'utiliser dans un script :
//...
object oPC = ..... // Objet dont le jet va être testé
object oMonstre = ...; // créature ayant initié le jet de sauvegarde
int iJDD = 15; // Difficulté du jet (Jet De Difficulté)
int iReflexe; // Variable d'accueil du résultat de la fonction
//....
iReflexe = ReflexSave(oPC, iJDD, SAVING_THROW_TYPE_FIRE, oMonstre);
// ici traitement de l'info récupérée par la fonction
SAVING_THROW_TYPE_* est une constante prédéfinie par Bioware. Elle détermine le type de jet de sauvegarde qu'on veut faire. Dans mon exemple, j'ai choisi le feu.
En espérant avoir été clair...
Bon courage.