Pour ma part, j'ai trouvé que les fonctions de debug fournies par bioware sont aussi lourdes qu'inexploitables.
J'ai donc développé un petit script qui permet :
- d'envoyer les informations de debug dans la fenetre du joueur ou dans la fenetre des DM
- d'activer ou non le mode debug ce qui permet de laisser ses instructions de debug dans ses scripts et de ne les activer qu'en cas de problème.
Voici le fichier s_mydebug.nss qui nous servira d'include :
//////////////////////////// // FileName s_MyDebug.nss // //////////////////////////// // Created By: Gargantuel // // Created On: 7/05/2002 // ////////////////////////////
int DEBUG_OFF = 0; // desactive le mode debug int DEBUG_PLAYER = 1; // debug dans la fenetre du joueur int DEBUG_DM = 2; // debug envoyé aux DMs string MY_DEBUG = "myDebug"; // Nom de la variable locale
// Fonction permettant d'activer ou de desactiver le mode debug void SetMyDebug(object oPC, int mode) { SetLocalInt(oPC, MY_DEBUG, mode); }
// Fonction permettant d'envoyer du texte en mode debug void WriteMyDebug(object oPC, string textToPrint) { textToPrint = "DEBUG - " + textToPrint; switch(GetLocalInt(oPC, MY_DEBUG)) { case 1: // DEBUG_PLAYER { SendMessageToPC(oPC, textToPrint); break; }
case 2: // DEBUG_DM { SendMessageToAllDMs(textToPrint); break; } } }
Activez ensuite le mode debug sur le OnEnter de votre zone principale
#include "s_mydebug" void main() { object oPC = GetPCEntered(); SetMyDebug(oPC, DEBUG_PLAYER); }
Et utilisez l'instruction de debug dans vos scripts de la manière suivante :
#include "s_mydebug" void main() { object oPC = GetPCSpeaker(); WriteMyDebug(oPC, "Mon information de debug"); }
|