Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Librairie de gestion des tokens customs :

Par Jedaï le 14/10/2002 à 22:48:55 (#2336679)

Dernièrement as eu lieu sur ce forum une discussion sur le fonctionnement et l'usage des tokens customs dans les conversations, le sujet était nouveau pour moi et je m'atelai immédiatement à la tâche de créer une fonction qui me créerai automatiquement les quelques tokens dont j'estimais avoir besoin et que je pourrais compléter facilement au gré des suggestions et des idées...
Ceci fait, on me fit remarquer qu'il serait préférable d'intégrer cette création automatique des tokens au fonctions de début de conversation, je le fis donc, puis me rappellai d'un projet un peu fou dont j'avais eu vent et qui prévoyai une gestion complexe des tokens dans les strings (c'est à dire dans SpeakString() et ActionSpeakString()). J'ai retrouvé ce projet mais il n'avait pas évolué et j'ai préféré refaire le code entièrement en colant de mon mieux aux objectifs affichés de ce projet (de mon mieux parce que le dit projet était assez fou comme je l'ai dit).


J'ai finalement abouti à une librairie de six fonctions intéressant
l'utilisateur, dont je vous donne ici la description :



//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Mini-Bibliotheque de gestion des strings et des tokens customs
*/
//:://////////////////////////////////////////////
//:: Created By: Jedaï
//:: Inspire par Gloirin et Lendraste
//:://////////////////////////////////////////////

//Cette fonction initie la conversation et cree les token customs dont voici la liste :
//99 : /e (PC masc/fem)
//100 : mon/ma (PC masc/fem)
//101 : frere/soeur (idem)
//102 : homme/femme (idem)
//103 : monsieur/madame (idem)
//104 : race (elfe, humain/humaine...)
//1100 : Mon/Ma, 1101 : Frere/Soeur, etc...
//Sont egalement disponible tout les Tokens crees par la fonction AddCustomToken().
void ActionStartTokConv(object oObjectToConverseWith, string sDialogResRef=", int bPrivateConversation=FALSE);

//Cette fonction initie la conversation et cree les token customs dont voici la liste :
//99 : /e (PC masc/fem)
//100 : mon/ma (PC masc/fem)
//101 : frere/soeur (idem)
//102 : homme/femme (idem)
//103 : monsieur/madame (idem)
//104 : race (elfe, humain/humaine...)
//1100 : Mon/Ma, 1101 : Frere/Soeur, etc...
//Sont egalement disponible tout les Tokens crees par la fonction AddCustomToken().
int BeginTokConv(string sResRef=", object oObjectToDialog=OBJECT_INVALID);

//Cette fonction dit une phrase de la conversation sDialogRef et
//cree les token customs dont voici la liste :
//99 : /e (PC masc/fem)
//100 : mon/ma (PC masc/fem)
//101 : frere/soeur (idem)
//102 : homme/femme (idem)
//103 : monsieur/madame (idem)
//104 : race (elfe, humain/humaine...)
//1100 : Mon/Ma, 1101 : Frere/Soeur, etc...
//Sont egalement disponible tout les Tokens crees par la fonction AddCustomToken().
void SpeakOneLinerTokConv(string sDialogRef=", object oTokenTarget=OBJECT_INVALID);

//Fonction equivalente a SpeakString, mais on peut y mettre des tokens de trois
//sortes differentes, dans l'ordre de preference (s'il est du premier type, il
//n'est pas du second, etc..) :
//_ Tokens "predefinis" : , si oPC est du genre feminin, ce token
//sera remplace par "choixF", sinon par "choixM"; et , ca se comprend
//tout seul ; et les meme avec une majuscule (Humain au lieu de
//humain), dans le meme style (avec chacun leur equivalent majuscule) ,,
//_Local String : sera remplace par le contenu de la local
//string de ce nom du (dans l'ordre de preference) Locuteur/oPC/Module.
//_Local Int : sera remplace par
//le choix qui correspond au local int du Locuteur/oPC/Module(toujours dans l'ordre
//de preference), si le local int est superieur a n, le token sera remplace par le choix n.
//ATTENTION : ne jamais oublier les deux points a la fin du mot cle !
void SpeakTokString(string sStringToSpeak, object oPC = OBJECT_INVALID, int nTalkVolume=TALKVOLUME_TALK);

//Fonction equivalente a ActionSpeakString, mais on peut y mettre des tokens de trois
//sortes differentes, dans l'ordre de preference (s'il est du premier type, il
//n'est pas du second, etc..) :
//_ Tokens "predefinis" : , si oPC est du genre feminin, ce token
//sera remplace par "choixF", sinon par "choixM"; et , ca se comprend
//tout seul ; et les meme avec une majuscule (Humain au lieu de
//humain), dans le meme style (avec chacun leur equivalent majuscule) ,,
//_Local String : sera remplace par le contenu de la local
//string de ce nom du (dans l'ordre de preference) Locuteur/oPC/Module.
//_Local Int : sera remplace par
//le choix qui correspond au local int du Locuteur/oPC/Module(toujours dans l'ordre
//de preference), si le local int est superieur a n, le token sera remplace par le choix n.
//ATTENTION : ne jamais oublier les deux points a la fin du mot cle !
void ActionSpeakTokString(string sStringToSpeak, object oPC = OBJECT_INVALID, int nTalkVolume=TALKVOLUME_TALK);

//Permet de creer un custom token selon des methodes analogues a celles utilisees pour la fonction
//SpeakTokString (aller la voir pour plus de details) mais a placer dans une conversation normale:
//Ex : si nNthToken = 1, sStringToToken = " et le PC qui fait la conversation est feminin,
//" sera remplace par "cuisinière" dans la conversation.
//nNthToken ne doit pas etre egal a 99,100,...200. Ces Tokens sont reserves !
void AddCustomToken(int nNthToken, string sStringToToken);


Si il y a des intéressé qu'ils se manifestent.

JOL Archives 1.0.1
@ JOL / JeuxOnLine