La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 19/04/2024 21:28:17


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
AZAZEL11
Seigneur
Inscrit le: 08 Fév 2006
Messages: 156
Répondre en citant
Posté le : 19/01/2009 09:33:32 Sujet du message : strings défini selon un int

kikoooo!

premièrement je suis triste un peu que cette section soit totalement délaissée...quoique je garde espoir ^^

en fait j'ai un soucis avec un string. Je n'ai jamais eu à faire un string variables avec un bon nombre de variables.

je vous montre la partie concernée:

NWScript :
iTempsPasser; //
string sTemps;//                                                            //
if (0<=iTempsPasser<=1) //
{ //
sTemps= ""; //
} //
if (1< iTempsPasser<=23) //
{ //
sTemps= IntToString(iTempsPasser) + " heures."; //
} //
if (23<iTempsPasser<=47) //
{ //
sTemps= "un jour."; //
} //
if (47<iTempsPasser<=71) //
{ //
sTemps= "2 jours."; //
} //
if (iTempsPasser>=72) //
{ //
sTemps= "environ 3 jours."; //
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


mon problème est que iTempsPasser varie selon le temps écoulé sur chaque variable.

NWScript :
iTempsPasser= iCurrentTime - iTempsDepart1;
iTempsPasser= iCurrentTime - iTempsDepart2;
///etc...
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.




J'ai plusieurs variables à stocker donc je voulais simplement m'éviter de mettre mon setting pour mon sTemps après chaque iTempsPasser différent... J'ai tant bien que mal essayé mais je trouve pas la méthode (et j'ai vraiment cherché sur la bibliothèque). Bref, je parie que c'Est simple mais je vois pas. Quelqu'un pourrait me dire quel raccourci je peux prendre au lieu de mettre les définitions de sTemps pour chaque variables?
_________________
L'imagination est plus importante que le savoir. (Albert Einstein)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 19/01/2009 22:30:50 Sujet du message :

Il faudrait savoir comment tu récupères tes iTempsDepartX pour qu'on puissent t'aider. Essaie aussi d'expliquer le concept et comment tu utilise tous ça, ça peut jouer pour la suite (ton bout de script avec des test ne nous apporte pas beaucoup seul). N'hesite pas à poster le script en entier, et si il est trop long met le en spoiler ça ne gène pas trop la lecture.

Par contre, pour ce qui est du bout de script que tu as posté, quand tu fait une suite de "if" pour une comparaison où tu ne peux avoir qu'une seule solution possible, utilise des "else if" après le premier "if", ce qui aura pour conséquence de sauté tout les "else if" restant si jamais ta condition est vérifié. N'oublie pas de finir sur un "else" ou quelque chose dans le cas ou tu aurais une valeur qui ne rentre pas dans les critères demandé.

Pour faire clair on prend un exemple, on dit que le temps ecoulé est de 3 heures, ton script va balayer tous les intervalles, alors qu'au deuxième test on sait déjà la réponse. Avec des "else if" on s'arrêtera au second, gain de temps, notamment si tu fait ça sur tout tes scripts (c'est sur que c'est pas sur un que ça se joue).


Pas grand chose de plus Razz
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
AZAZEL11
Seigneur
Inscrit le: 08 Fév 2006
Messages: 156
Répondre en citant
Posté le : 19/01/2009 23:20:32 Sujet du message :

bon d'accord, je montre le script au complet, (je voulais pas le mettre vu sa longueur^^)


juste un petit détail, je redéfini mon sTemps sur chaque iTempsPasser parce que, justement, je n'arrive pas a le définir selon mon standard!

NWScript :
//sTemps=IntToString(iTempsPas ser)+ " heure(s);
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.
Spoiler :
NWScript :
/////////////////////////////VARIABLES MODIFIABLES//////////////////////////////////////
                                                                                      //
int nDD=20;  //20=facile, 30 moderer et 40-50 dur.                                    //
                                                                                      //
int nHourMax=90;//le nombre d'heure max pour piste detectable                        //
                                                                                      //
////////////////////////////////////////////////////////////////////////////////////////
int CurrentTime(); //heure actuelle

void main()
{
object oTarget=OBJECT_SELF;
location lTarget=GetLocation(oTarget);
object oArea=GetAreaFromLocation(lTarget);
int iCurrentTime, iTempsPasser;
iCurrentTime=CurrentTime();
/////////////////////////////////////////////////////////////////////////////
///////////////////CALCULS DE TEMPS POUR CHAQUE RACE/////////////////////////
/////////////////////////////////////////////////////////////////////////////
int iTempsPiste1=  GetLocalInt(oArea,"ptabberration");
int iTempsPiste2=  GetLocalInt(oArea,"ptanimal");
int iTempsPiste3=  GetLocalInt(oArea,"ptbeast");
int iTempsPiste4=  GetLocalInt(oArea,"ptartificiel");
int iTempsPiste5=  GetLocalInt(oArea,"ptdragon");
int iTempsPiste6=  GetLocalInt(oArea,"ptnain");
int iTempsPiste7=  GetLocalInt(oArea,"ptelemental");
int iTempsPiste8=  GetLocalInt(oArea,"ptelfe");
int iTempsPiste9=  GetLocalInt(oArea,"ptfee");
int iTempsPiste10= GetLocalInt(oArea,"ptgeant");
int iTempsPiste11= GetLocalInt(oArea,"ptgnome");
int iTempsPiste12= GetLocalInt(oArea,"ptdemielf");
int iTempsPiste13= GetLocalInt(oArea,"pthalfling");
int iTempsPiste14= GetLocalInt(oArea,"ptdemiorc");
int iTempsPiste15= GetLocalInt(oArea,"pthumain");
int iTempsPiste16= GetLocalInt(oArea,"ptgoblin");
int iTempsPiste17= GetLocalInt(oArea,"pthumanoide");
int iTempsPiste18= GetLocalInt(oArea,"ptorc");
int iTempsPiste19= GetLocalInt(oArea,"ptreptile");
int iTempsPiste20= GetLocalInt(oArea,"ptmagique");
int iTempsPiste21= GetLocalInt(oArea,"ptvase");
int iTempsPiste22= GetLocalInt(oArea,"ptoutsider");
int iTempsPiste23= GetLocalInt(oArea,"ptshapechanger");
int iTempsPiste24= GetLocalInt(oArea,"ptundead");
int iTempsPiste25= GetLocalInt(oArea,"ptvermine");
//////////////////////////////////////////INT/////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
/////////////////////Strings selon le temps de la piste///////////////////////
//////////////////////////////////////////////////////////////////////////////
iTempsPasser;                                                              //
string sTemps;//                                                            //
if  (0<=iTempsPasser<=1)                                                  //
{sTemps= "très peu de temps!";                                              //
} else if (1< iTempsPasser<=23)                                            //
{sTemps= IntToString(iTempsPasser) + " heures.";                            //
}else if (23<iTempsPasser<=47)                                              //
{sTemps= "un jour.";                                                        //
}else if (47<iTempsPasser<=71)                                              //
{sTemps= "2 jours.";                                                        //
}else if (iTempsPasser>=72)                                                //
{sTemps= ("environ 3 jours.");                                              //
}else {                                                                    //
}                                                                          //
////////////////////////////////FIN DES PHRASES///////////////////////////////

//////////////////////////////////REFRESH////////////////////////////////////
SignalEvent(oArea,EventUserDefined(4000)); //on fait un refresh si on active.
/////////////////////////////////////////////////////////////////////////////

/////////////////////////////CALCULS POUR RODEUR/////////////////////////////
int nlvl=GetHitDice(oTarget);
int nSearch=SKILL_SEARCH;
int nLore=SKILL_LORE;
int nCalcul=nlvl*2 + d20()+ (nSearch + nLore)/2 - (iTempsPasser)/2;
/////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////
////////////////////////////////FONCTIONS////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, 1.0, 15.0);
/////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste1;
if (iTempsPiste1 >=nHourMax && GetLocalString(oArea, "abberration") =="d'abberration")
{
DeleteLocalString(oArea, "abberration");
DeleteLocalInt(oArea, "ptabberration");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "abberration")=="d'abberration")
{
//string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"abberration"))+" il y a "+ (sTemps), oTarget);
}
/////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste2;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"animal")!= "")
{
DeleteLocalString(oArea, "animal");
DeleteLocalInt(oArea, "ptanimal");
}
if (GetLocalString(oArea, "animal")!="" )
{
//string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"animal"))+" il y a "+ sTemps, oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste3;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"beast")=="de bête primitive")
{
DeleteLocalString(oArea, "beast");
DeleteLocalInt(oArea, "ptbeast");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "beast")=="de bête primitive")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"beast"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste4;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"artificiel")=="de créature artificielle")
{
DeleteLocalString(oArea, "artificiel");
DeleteLocalInt(oArea, "ptartificiel");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "artificiel")== "de créature artificielle")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"artificiel"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste5;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"dragon")=="de dragon")
{
DeleteLocalString(oArea, "dragon");
DeleteLocalInt(oArea, "ptdragon");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "dragon")=="de dragon")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"dragon"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste6;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"nain")=="de nain")
{
DeleteLocalString(oArea, "nain");
DeleteLocalInt(oArea, "ptnain");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "nain")=="de nain")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"nain"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste7;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"elemental")=="d'élémental")
{
DeleteLocalString(oArea, "elemental");
DeleteLocalInt(oArea, "ptelemental");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "elemental")=="d'élémental")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"elemental"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste8;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"elfe")=="d'elfe")
{
DeleteLocalString(oArea, "elfe");
DeleteLocalInt(oArea, "ptelfe");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "elfe")=="d'elfe")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"elfe"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste9;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"fee")=="de fée")
{
DeleteLocalString(oArea, "fee");
DeleteLocalInt(oArea, "ptfee");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "fee")=="de fée")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"fee"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste10;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea, "geant")=="de géant")
{
DeleteLocalString(oArea, "geant");
DeleteLocalInt(oArea, "ptgeant");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "geant")=="de géant")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"geant"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste11;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"gnome")=="de gnome")
{
DeleteLocalString(oArea, "gnome");
DeleteLocalInt(oArea, "ptgnome");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "gnome")=="de gnome")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"gnome"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste12;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"demielf")=="de demi-elfe")
{
DeleteLocalString(oArea, "demielf");
DeleteLocalInt(oArea, "ptdemielf");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "demielf")=="de demi-elfe")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"demielf"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste13;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"halfling")=="de petit-gens")
{
DeleteLocalString(oArea, "halfling");
DeleteLocalInt(oArea, "pthalfling");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "halfling")=="de petit-gens")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"halfling"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste14;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"demiorc")=="de demi-orque")
{
DeleteLocalString(oArea, "demiorc");
DeleteLocalInt(oArea, "ptdemiorc");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "demiorc")=="de demi-orque")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"demiorc"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste15;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"humain")=="d'humain")
{
DeleteLocalString(oArea, "humain");
DeleteLocalInt(oArea, "pthumain");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "humain")=="d'humain")//  && nDD < nCalcul)
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"humain"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste16;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"goblin")=="de goblin")
{
DeleteLocalString(oArea, "goblin");
DeleteLocalInt(oArea, "ptgoblin");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "goblin")=="de gobelin")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"goblin"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste17;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"humanoide")=="d'humanoide")
{
DeleteLocalString(oArea, "humanoide");
DeleteLocalInt(oArea, "pthumanoide");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "humanoide")=="d'humanoide")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"humanoide"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste18;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"orc")=="d'orque")
{
DeleteLocalString(oArea, "orc");
DeleteLocalInt(oArea, "ptorc");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "orc")=="d'orque")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"orc"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste19;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"reptile")=="reptile")
{
DeleteLocalString(oArea, "reptile");
DeleteLocalInt(oArea, "ptreptile");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "reptile")=="reptile")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"reptile"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste20;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"magique")=="de créature magique")
{
DeleteLocalString(oArea, "magique");
DeleteLocalInt(oArea, "ptmagique");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "magique")=="de monstre magique")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"magique"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste21;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"vase")=="de vase")
{
DeleteLocalString(oArea, "vase");
DeleteLocalInt(oArea, "ptvase");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "vase")=="de vase")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"vase"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste22;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"outsider")=="d'extra-planètaire")
{
DeleteLocalString(oArea, "outsider");
DeleteLocalInt(oArea, "ptoutsider");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "outsider")=="d'extra-planètaire")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"outsider"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste23;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"shapechanger")=="de changeur de forme")
{
DeleteLocalString(oArea, "shapechanger");
DeleteLocalInt(oArea, "ptshapechanger");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "shapechanger")=="de changeur de forme")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"shapechanger"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste24;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"undead")=="de mort-vivant")
{
DeleteLocalString(oArea, "undead");
DeleteLocalInt(oArea, "ptundead");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "undead")=="de mort-vivant")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"undead"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste25;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"vermine")!="")
{
DeleteLocalString(oArea, "vermine");
DeleteLocalInt(oArea, "ptvermine");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "vermine")!="")
{
string sTemps=IntToString(iTempsPasser)+" heure(s).";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"vermine"))+" il y a "+ (sTemps), oTarget);
}
///////////////////////////////FIN DES LOCALINT/////////////////////////////////
}  //end  ok
///////////////////////////////FIN DES FONCTIONS////////////////////////////////

//////////////////////////////////CALENDRIER////////////////////////////////////
int CurrentTime()
{          //ok
return GetCalendarYear()*8064 + GetCalendarMonth()*672 + GetCalendarDay()*24 + GetTimeHour();
}          //ok
////////////////////////////////////////////////////////////////////////////////
Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.

_________________
L'imagination est plus importante que le savoir. (Albert Einstein)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 20/01/2009 21:45:58 Sujet du message :

Tu m'a pas beaucoup expliqué le système et le concept, j'ai l'impression qu'il manque une partie qui agit à part, c'est dommage ça aurait peut-être pu être optimisé.

Pour ce qui est de ce qu'il y à là, je pense que la meilleur solution est de lié chacune des races pistables à un numéro, et ainsi on peut utiliser une boucle (pour ma part j'aurais mis des noms de variables avec des numéros directement dedans, mais bon tu est partie sur autre chose, donc autant laisser).

Par contre j'ai séparé avec quelques fonctions, tu pourrais les mettres dans une bibliothèque, ce qui eviterais d'allourdir le script en lisibilité.


Bibliothèque
Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.
Spoiler :
// Liaison de chacunes des races pistables un à numéro
string Pistage_Race(int iRaceNum, int iRaceFR = FALSE);

// Renvoie un phrase selon le temps depuis la derniere piste
string Pistage_Type(int iTempsPasser);

// Donne le temps actuel en heures
int CurrentTime();


string Pistage_Race(int iRaceNum, int iRaceFR = FALSE)
{
string sRace;

switch(iRaceFR*100 + iRaceNum)
{
case 1 : sRace = "abberration"; break;
case 2 : sRace = "animal"; break;
case 3 : sRace = "beast"; break;
case 4 : sRace = "artificiel"; break;
case 5 : sRace = "dragon"; break;
case 6 : sRace = "nain"; break;
case 7 : sRace = "elemental"; break;
case 8 : sRace = "elfe"; break;
case 9 : sRace = "fee"; break;
case 10 : sRace = "geant"; break;
case 11 : sRace = "gnome"; break;
case 12 : sRace = "demielf"; break;
case 13 : sRace = "halfling"; break;
case 14 : sRace = "demiorc"; break;
case 15 : sRace = "humain"; break;
case 16 : sRace = "goblin"; break;
case 17 : sRace = "humanoide"; break;
case 18 : sRace = "orc"; break;
case 19 : sRace = "reptile"; break;
case 20 : sRace = "magique"; break;
case 21 : sRace = "vase"; break;
case 22 : sRace = "outsider"; break;
case 23 : sRace = "shapechanger"; break;
case 24 : sRace = "undead"; break;
case 25 : sRace = "vermine"; break;

case 101 : sRace = "d'abberration"; break;
case 102 : sRace = "animal"; break;
case 103 : sRace = "de bête primitive"; break;
case 104 : sRace = "de créature artificielle"; break;
case 105 : sRace = "de dragon"; break;
case 106 : sRace = "de nain"; break;
case 107 : sRace = "d'élémental"; break;
case 108 : sRace = "d'elfe"; break;
case 109 : sRace = "de fée"; break;
case 110 : sRace = "de géant"; break;
case 111 : sRace = "de gnome"; break;
case 112 : sRace = "de demi-elfe"; break;
case 113 : sRace = "de petit-gens"; break;
case 114 : sRace = "de demi-orque"; break;
case 115 : sRace = "d'humain"; break;
case 116 : sRace = "de goblin"; break;
case 117 : sRace = "d'humanoide"; break;
case 118 : sRace = "d'orcque"; break;
case 119 : sRace = "de reptile"; break;
case 120 : sRace = "de créature magique"; break;
case 121 : sRace = "de vase"; break;
case 122 : sRace = "d'extra-planètaire"; break;
case 123 : sRace = "de changeur de forme"; break;
case 124 : sRace = "de mort-vivant"; break;
case 125 : sRace = "de vermine"; break;
}

return sRace;
}

string Pistage_Type(int iTempsPasser)
{
string sTemps;

if (iTempsPasser <= 1)
sTemps= "très peu de temps!";

else if ( iTempsPasser <24)
sTemps= IntToString(iTempsPasser) + " heures.";

else if ( iTempsPasser <4Cool
sTemps= "1 jour.";

else if (47<iTempsPasser<72)
sTemps= "2 jours.";

else
sTemps= "environ 3 jours.";


return sTemps;
}




int CurrentTime()
{
return GetCalendarYear()*8064 + GetCalendarMonth()*672 + GetCalendarDay()*24 + GetTimeHour();
}

Script
NWScript :
int nDD=20; //20=facile, 30 moderer et 40-50 dur.
int nHourMax=90;//le nombre d'heure max pour piste detectable

void main()
{
    object oTarget = OBJECT_SELF;
    object oArea = GetArea(oTarget);
    int iCurrentTime = CurrentTime();
    int iTempsPasser, iTempsPiste, i;


    //REFRESH
    SignalEvent(oArea,EventUserDefined(4000)); //on fait un refresh si on active.

    //CALCULS POUR RODEUR
    int nlvl=GetHitDice(oTarget);
    int nSearch=SKILL_SEARCH;
    int nLore=SKILL_LORE;
    int nCalcul=nlvl*2 + d20()+ (nSearch + nLore)/2 - (iTempsPasser)/2;

    //PlayAnimation
    ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, 1.0, 15.0);



    for(i=1; i< 26; i++)
    {
        iTempsPasser = GetLocalInt(oArea,"pt"+Pistage_Race(i));

        if(iTempsPasser < nHourMax)
        {
            FloatingTextStringOnCreature("Des traces " + Pistage_Race(i, TRUE) +
            ""+ Pistage_Type(iTempsPasser), oTarget);
        }
        else
        {
            DeleteLocalString(oArea, Pistage_Race(i));
            DeleteLocalInt(oArea, "pt"+Pistage_Race(i));
        }
    }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.



Il peut rester pas mal d'erreur j'ai fait surtout des grands coups de copier/coller, et n'oublie pas l'include en tête du script si tu met la bib à part.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
AZAZEL11
Seigneur
Inscrit le: 08 Fév 2006
Messages: 156
Répondre en citant
Posté le : 22/01/2009 05:00:30 Sujet du message :

ah je vois que j'ai affaire avec un grand scripteur, tu m'en a assez montré pour que je vienne d'apprendre des nouvelles fonctions!

ok bien en fait je fonctionne sur un event(4000) pour mettre les localint sur la zone concernée pour enregistrer les traces d'une créature X. Mais je crois que tes corrections sont nettement mieux! ^^ Enfin j'ai l'impression que plusieurs choses peuvent être optimisé mais je suis pas très familier avec l'éditeur de script. Content de voir enfin comment fonctionne la fonction "for"!!!

Son fonctionnement?

Aussitot qu'un joueur entre dans une zone, il déclenche les signalevents, dont le (4000) pour le pistage. C'est pour stocker en variables les "pistes" des créatures qui étaient dans la zone. (j'ai un SignalEvent4000 dans le script de base nwn du OnSpawn ainsi que le case 3000(generic spawner) pour actualiser les "traces". Si un PJ active son item il doit faire un jet (j'en étais rendu là aussi) pour voir si le rodeur peut détecter les traces des créatures. Le SetLocalString est pour le string que le joueur va pouvoir lire et le SetLocalInt le temps en heures que la piste à été faite.

Enfin en espérant avoir été clair. Mais je crois qu'avec ce que tu m'as envoyé je vais déja pas mal avancer dans les méthodes de fonctionnement! Enfin le système fonctionne mais je me doutais qu'il y ait des "raccourcis" possibles^^ Merci à toi ivellios!!!! sincèrement!




Dans le AreaOnUserDefine: (seule la partie du event 4000 est concernée)

Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.
Spoiler :
NWScript :
//:: Created On:  12/19/04
//:Confused/////////////////////////////////////////////
int CurrentTime();
int nHourMax=90;






void main()
{
object oArea=(OBJECT_SELF);

    int nUser=GetUserDefinedEventNumber();
    switch(nUser)
        {



        case 2998:  //This checks the weather type of the area every thirty seconds (but only when players are in the area) and sets the according skybox.
          {
          }

        case 2999: //case 2999 was added to ensure that the number of PCs in the area is as accurate as possible
          {
            SetLocalInt(OBJECT_SELF,"PCs_Found",0);
            object oPC = GetFirstObjectInArea();
            while(GetIsObjectValid(oPC))
                {
                if(GetIsPC(oPC)|| GetIsDM(oPC)||GetIsDMPossessed(oPC) == TRUE)      //removed DM check v1.28
                  {
                  SetLocalInt(OBJECT_SELF,"PCs_Found",GetLocalInt(OBJECT_SELF,"PCs_Found")+1);
                  }
                oPC = GetNextObjectInArea();
                }
            if(GetLocalInt(OBJECT_SELF,"PCs_Found") != GetLocalInt(OBJECT_SELF,"PCs_In_Area"))
            {
            SetLocalInt(OBJECT_SELF,"PCs_In_Area",GetLocalInt(OBJECT_SELF,"PCs_Found"));
            }
            if(GetLocalInt(OBJECT_SELF,"PCs_Found") == 0)
            {
            SignalEvent(OBJECT_SELF,EventUserDefined(3000));
            SetLocalString(OBJECT_SELF,"PC Tracker Ran","False");
            }
            else
            {
            DelayCommand(300.0f,SignalEvent(OBJECT_SELF,EventUserDefined(2999)));
            }
            break;
            }


case 3000:
{
object oArea = GetArea(OBJECT_SELF);
object oChk = GetFirstObjectInArea(oArea);
while(GetIsObjectValid(oChk) && (GetLocalInt(OBJECT_SELF,"PCs_In_Area") == 0))
{
int nChk = GetObjectType(oChk);

switch(nChk)
{
case OBJECT_TYPE_CREATURE:
{
// AJOUT DE SONJA ICI
object oMast = GetMaster(oChk);
if ((oMast == OBJECT_INVALID) || (GetIsPC(oMast) != TRUE))
{
SetImmortal(oChk,FALSE);
SetPlotFlag(oChk,FALSE);
DelayCommand(0.1f,DestroyObject(oChk));
}
break;
}
///////////////////////////                    /////////////////////////////////////
                //* case OBJECT_TYPE_ITEM:
                  // {
                  // SetImmortal(oChk,FALSE);
                  // SetPlotFlag(oChk,FALSE);
                  // DelayCommand(0.1f,DestroyObject(oChk));
                  // break;
                  // }
                // case OBJECT_TYPE_PLACEABLE:
                //  {
                  //  if(GetStringLowerCase(GetName(oChk)) == "remains")
                  //  {
                  //  object oItem = GetFirstItemInInventory(oChk);
                  //  while(GetIsObjectValid(oItem))
                  //      {
                  //      DestroyObject(oItem);
                  //      oItem = GetNextItemInInventory(oChk);
                  //      }
                  //  AssignCommand(oChk,SetIsDestroyable(TRUE));
                  //  DestroyObject(oChk);
                    // }
                  // break;
                  // }

///////////////////////////////////////////////////////////////////////////////
                }
                oChk = GetNextObjectInArea(oArea);
                }
            object oObject = GetFirstObjectInArea(GetArea(OBJECT_SELF));
            while(GetIsObjectValid(oObject) && (GetLocalInt(OBJECT_SELF,"PCs_In_Area") == 0))
                {
                if (GetObjectType(oObject) == OBJECT_TYPE_ENCOUNTER)
                {
                SetEncounterActive(TRUE, oObject);
                }
                oObject=GetNextObjectInArea();
                }
            break;
            }

        case 3001:  //added v1.28 Boolean logic check
            {
            if(GetLocalString(OBJECT_SELF,"PC Tracker Ran") == "False")        // Part of the boolean logic check v1.28 - This is the part that makes sure it hasn't already been triggered
            {
            SetLocalString(OBJECT_SELF,"PC Tracker Ran","True");              // Part of the boolean logic check v1.28 - Indicates that the tracker has been activated
            SignalEvent(OBJECT_SELF,EventUserDefined(2999));
            }
            else
            {
            return;
            }
            break;
            }

        case 3002:  //added v1.30 Generic NPC Spawner

        //  Generic NPC Spawner Configuration
        //  1. Create a Waypoint at Spawn Location
        //  2. Define the creature to spawn by naming the Waypoint: SPWN_[resref of creature you want to spawn]  i.e. SPWN_waterdhavianguar
        //  3. Next, define the type of NPC types include [Waypoint Walkers, Posted, Sitting, and Merchant]
          //    To define the type one of the following to the start of the Waypoint's Tag: WP_  POST_  SIT_  MER_  NIGHT_  DAY_  NORM_
          //  4. Now you define the NPC's Tag (add whatever you want after the definer from step 3) - TAG MUST BE UNIQUE!          i.e. POST_waterdhavianguard1
          //  4a. If you want a Waypoint walker, add _01 to the end of the tag    i.e. WP_waterdhavianwatcher1_01

            {
            object oSP = GetFirstObjectInArea();
            string nOSPTag = "";
            while(GetIsObjectValid(oSP))
                {
                if(GetTag(oSP) == nOSPTag)
                {
                oSP = GetNextObjectInArea();
                }
                else
                {
                if((GetObjectType(oSP) == OBJECT_TYPE_WAYPOINT) || (GetObjectType(oSP) == OBJECT_TYPE_STORE))
                  {
                  if(GetStringUpperCase(GetStringLeft(GetName(oSP),5)) == "SPWN_")
                  {
                  string nresref = GetStringRight(GetName(oSP),GetStringLength(GetName(oSP))-5);



                  if(GetStringUpperCase(GetStringLeft(GetTag(oSP),3)) == "WP_")    //Spawner for Waypoint Walkers
                  {
                  string sSPTag = GetStringRight(GetTag(oSP),GetStringLength(GetTag(oSP))-3);
                  string sNPCTag = GetStringLeft(sSPTag,GetStringLength(sSPTag)-3);
                  CreateObject(OBJECT_TYPE_CREATURE,GetStringRight(GetStringLowerCase(GetName(oSP)),GetStringLength(GetName(oSP))-5),GetLocation(oSP),FALSE,sNPCTag);
                  }



                  if(GetStringUpperCase(GetStringLeft(GetTag(oSP),5)) == "POST_")  //Spawner for posted NPCS
                  {
                  string sNPCTag = GetStringRight(GetTag(oSP),GetStringLength(GetTag(oSP))-5);
                  CreateObject(OBJECT_TYPE_CREATURE,GetStringRight(GetStringLowerCase(GetName(oSP)),GetStringLength(GetName(oSP))-5),GetLocation(oSP),FALSE,sNPCTag);
                  }



                  if(GetStringUpperCase(GetStringLeft(GetTag(oSP),4)) == "SIT_")  //Spawner for sitting NPCS
                  {
                  string sNPCTag = GetStringRight(GetTag(oSP),GetStringLength(GetTag(oSP))-4);
                  CreateObject(OBJECT_TYPE_CREATURE,GetStringRight(GetStringLowerCase(GetName(oSP)),GetStringLength(GetName(oSP))-5),GetLocation(oSP),FALSE,sNPCTag);
                  DelayCommand(0.5f,AssignCommand(GetObjectByTag(sNPCTag),ActionSit(GetNearestObjectByTag("Chair"))));
                  }



                  if(GetStringUpperCase(GetStringLeft(GetTag(oSP),4)) == "MER_")  //Spawner for Merchant NPCS
                  {
                  string sNPCTag = GetStringRight(GetTag(oSP),GetStringLength(GetTag(oSP))-4);
                  CreateObject(OBJECT_TYPE_CREATURE,GetStringRight(GetStringLowerCase(GetName(oSP)),GetStringLength(GetName(oSP))-5),GetLocation(oSP),FALSE,sNPCTag);
                  if(GetStoreGold(oSP) <= 1000)
                    {
                    SetStoreGold(oSP,100000);
                    }
                  }



                  if(GetStringUpperCase(GetStringLeft(GetTag(oSP),6)) == "NIGHT_")  //Spawner for Night-Only NPCs
                  {
                  if((GetTimeHour() >= 1Cool || (GetTimeHour() <= 6))                //change times as per your module
                    {
                    string sNPCTag = GetStringRight(GetTag(oSP),GetStringLength(GetTag(oSP))-6);
                    CreateObject(OBJECT_TYPE_CREATURE,GetStringRight(GetStringLowerCase(GetName(oSP)),GetStringLength(GetName(oSP))-5),GetLocation(oSP),FALSE,sNPCTag);
                    }
                  }



                  if(GetStringUpperCase(GetStringLeft(GetTag(oSP),4)) == "DAY_")  //Spawner for Day-Only NPCs
                  {
                  if((GetTimeHour() <= 1Cool && (GetTimeHour() >= 6))                //change times as per your module
                    {
                    string sNPCTag = GetStringRight(GetTag(oSP),GetStringLength(GetTag(oSP))-4);
                    CreateObject(OBJECT_TYPE_CREATURE,GetStringRight(GetStringLowerCase(GetName(oSP)),GetStringLength(GetName(oSP))-5),GetLocation(oSP),FALSE,sNPCTag);
                    }
                  }



                  if(GetStringUpperCase(GetStringLeft(GetTag(oSP),5)) == "NORM_")  //Spawner for Normal NPCs that do not need any special treatment
                  {
                    string sNPCTag = GetStringRight(GetTag(oSP),GetStringLength(GetTag(oSP))-5);
                    CreateObject(OBJECT_TYPE_CREATURE,GetStringRight(GetStringLowerCase(GetName(oSP)),GetStringLength(GetName(oSP))-5),GetLocation(oSP),FALSE,sNPCTag);
                  }



                  }
                  }
                nOSPTag = GetTag(oSP);
                oSP = GetNextObjectInArea();
                SignalEvent(OBJECT_SELF,EventUserDefined(4000));
                }
                        ///Azzzzz
                }
            break;
            }


case 4000:
{

int iCurrentTime, iTempsPresent, iTempsPasser, iTempsPiste;
iTempsPiste = GetLocalInt(oArea,"Piste_heure");
////////////////////////////////////////////////////////////////////////////
object oArea=GetArea(OBJECT_SELF);
object oCreature=GetFirstObjectInArea(oArea);
iCurrentTime=CurrentTime();
////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////BOUCLE////////////////////////////////
while(GetIsObjectValid(oCreature))//&&
{
  if (GetIsPC(oCreature)||GetIsEncounterCreature(oCreature)||GetObjectType(oCreature)==OBJECT_TYPE_CREATURE))
/////////////////////////////////////////////////////////////////
//////////////////////////RACES ET LES LOCALINT//////////////////
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_ABERRATION)
{
SetLocalString(oArea,"abberration", "d'aberration");
SetLocalInt(oArea, "ptabberration",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_ANIMAL)
{
SetLocalString(oArea,"animal", "de/d' " +GetName(oCreature));
SetLocalInt(oArea,"ptanimal",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_BEAST)
{
SetLocalString(oArea,"beast", "de bête primitive");
SetLocalInt(oArea, "ptbeast",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_CONSTRUCT)
{
SetLocalString(oArea,"artificiel" ,"de créature artificielle");
SetLocalInt(oArea,"ptartificiel",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_DRAGON)
{
SetLocalString(oArea,"dragon", "de dragon");
SetLocalInt(oArea,"ptdragon",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_DWARF)
{
SetLocalString(oArea,"nain", "de nain");
SetLocalInt(oArea,"ptnain",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_ELEMENTAL)
{
SetLocalString(oArea,"elemental", "d'élémental");
SetLocalInt(oArea,"ptelemental",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_ELF)
{
SetLocalString(oArea,"elfe", "d'elfe");
SetLocalInt(oArea, "ptelfe",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_FEY)
{
SetLocalString(oArea,"fee", "de fée" );
SetLocalInt(oArea,"ptfee",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_GIANT)
{
SetLocalString(oArea,"geant", "de géant");
SetLocalInt(oArea,"ptgeant",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_GNOME)
{
SetLocalString(oArea,"gnome", "de gnome");
SetLocalInt(oArea,"ptgnome",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HALFELF)
{
SetLocalString(oArea,"demielf", "de demi-elfe");
SetLocalInt(oArea,"ptdemielf",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HALFLING)
{
SetLocalString(oArea,"halfling", "de petit-gens");
SetLocalInt(oArea,"pthalfling",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HALFORC)
{
SetLocalString(oArea,"demiorc", "de demi-orque");
SetLocalInt(oArea, "ptdemiorc",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HUMAN)
{
SetLocalString(oArea,"humain", "d'humain");
SetLocalInt(oArea,"pthumain",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HUMANOID_GOBLINOID)
{
SetLocalString(oArea,"goblin", "de gobelin");
SetLocalInt(oArea, "ptgoblin",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HUMANOID_MONSTROUS)
{
SetLocalString(oArea,"humanoide", "d'humainoide");
SetLocalInt(oArea,"pthumanoide",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HUMANOID_ORC)
{
SetLocalString(oArea,"orc", "d'orque");
SetLocalInt(oArea,"ptorc",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_HUMANOID_REPTILIAN)
{
SetLocalString(oArea,"reptile", "de reptile");
SetLocalInt(oArea,"ptreptile",CurrentTime());
}
if (GetLocalInt(oArea, "ptreptile")==90)
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_MAGICAL_BEAST)
{
SetLocalString(oArea,"magique", "de créature magique");
SetLocalInt(oArea,"ptmagique",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_OOZE)
{
SetLocalString(oArea,"vase", "de vase");
SetLocalInt(oArea, "ptvase",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_OUTSIDER)
{
SetLocalString(oArea,"outsider", "d'extra-planètaire");
SetLocalInt(oArea,"ptoutsider",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_SHAPECHANGER)
{
SetLocalString(oArea,"shapechanger", "de changeur de forme");
SetLocalInt(oArea,"ptshapechanger",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_UNDEAD)
{
SetLocalString(oArea,"undead", "de mort-vivant");
SetLocalInt(oArea,"ptundead",CurrentTime());
}
/////////////////////////////////////////////////////////////////
if(GetRacialType(oCreature)== RACIAL_TYPE_VERMIN)
{
SetLocalString(oArea,"vermine", "de/d'"+GetName(oCreature));
SetLocalInt(oArea, "ptvermine",CurrentTime());
}
/////////////////////////fin des variables///////////////////////

//////////////////////////fin de la boucle///////////////////////
oCreature=GetNextObjectInArea();
}      //while  ok

//DelayCommand(60.1,SignalEvent(OBJECT_SELF,EventUserDefined(4000)));
}      // case 4000 void
break;  //fin des switch
}      //switch
}      //void
/////////////////////////////////////////////////////////////////

////////////////////////////Calendrier///////////////////////////
int CurrentTime()
{          //ok
return GetCalendarYear()*8064 + GetCalendarMonth()*672 + GetCalendarDay()*24 + GetTimeHour();
}          //ok
/////////////////////////////////////////////////////////////////
Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.


Et lorsqu'on active l'item: (posté déjà plus haut.)

Ce message est un spoiler, et risque de vous informer de choses que vous auriez dû apprendre par vous même (fin d'un jeu, film, etc). À vos risques et périls (ludiques), vous pouvez le voir en cliquant sur cet avertissement.
Spoiler :
NWScript :



/////////////////////////////VARIABLES MODIFIABLES//////////////////////////////////////
                                                                                      //
int nDD=20;  //20=facile, 30 moderer et 40-50 dur.                                    //
                                                                                      //
int nHourMax=90;//le nombre d'heure max pour piste detectable                        //
                                                                                      //
////////////////////////////////////////////////////////////////////////////////////////
int CurrentTime(); //heure actuelle

void main()
{
object oTarget=OBJECT_SELF;
location lTarget=GetLocation(oTarget);
object oArea=GetAreaFromLocation(lTarget);
int iCurrentTime, iTempsPasser;
iCurrentTime=CurrentTime();
/////////////////////////////////////////////////////////////////////////////
///////////////////CALCULS DE TEMPS POUR CHAQUE RACE/////////////////////////
/////////////////////////////////////////////////////////////////////////////
int iTempsPiste1=  GetLocalInt(oArea,"ptabberration");
int iTempsPiste2=  GetLocalInt(oArea,"ptanimal");
int iTempsPiste3=  GetLocalInt(oArea,"ptbeast");
int iTempsPiste4=  GetLocalInt(oArea,"ptartificiel");
int iTempsPiste5=  GetLocalInt(oArea,"ptdragon");
int iTempsPiste6=  GetLocalInt(oArea,"ptnain");
int iTempsPiste7=  GetLocalInt(oArea,"ptelemental");
int iTempsPiste8=  GetLocalInt(oArea,"ptelfe");
int iTempsPiste9=  GetLocalInt(oArea,"ptfee");
int iTempsPiste10= GetLocalInt(oArea,"ptgeant");
int iTempsPiste11= GetLocalInt(oArea,"ptgnome");
int iTempsPiste12= GetLocalInt(oArea,"ptdemielf");
int iTempsPiste13= GetLocalInt(oArea,"pthalfling");
int iTempsPiste14= GetLocalInt(oArea,"ptdemiorc");
int iTempsPiste15= GetLocalInt(oArea,"pthumain");
int iTempsPiste16= GetLocalInt(oArea,"ptgoblin");
int iTempsPiste17= GetLocalInt(oArea,"pthumanoide");
int iTempsPiste18= GetLocalInt(oArea,"ptorc");
int iTempsPiste19= GetLocalInt(oArea,"ptreptile");
int iTempsPiste20= GetLocalInt(oArea,"ptmagique");
int iTempsPiste21= GetLocalInt(oArea,"ptvase");
int iTempsPiste22= GetLocalInt(oArea,"ptoutsider");
int iTempsPiste23= GetLocalInt(oArea,"ptshapechanger");
int iTempsPiste24= GetLocalInt(oArea,"ptundead");
int iTempsPiste25= GetLocalInt(oArea,"ptvermine");
//////////////////////////FIN DES LOCALINT///////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
/////////////////////Strings selon le temps de la piste///////////////////////
//////////////////////////////////////////////////////////////////////////////
/*
iTempsPasser;                                                              //
string sTemps;//                                                            //
if  (0<=iTempsPasser<=1)                                                      //
{                                                                          //
sTemps= "très peu de temps!";                                              //
}                                                                          //
if (1< iTempsPasser>=23)                                                      //
{                                                                          //
sTemps= IntToString(iTempsPasser) + " heures.";                            //
}                                                                          //
if (23<iTempsPasser>=47)                                                      //
{                                                                          //
sTemps= "un jour.";                                                        //
}                                                                          //
if (47<iTempsPasser>=71)                                                      //
{                                                                          //
sTemps= "2 jours.";                                                        //
}                                                                          //
if (iTempsPasser>=72)                                                      //
{                                                                          //
sTemps= ("environ 3 jours.");                                                //
}  */                                                                        //
////////////////////////////////FIN DES PHRASES///////////////////////////////

//////////////////////////////////REFRESH?///////////////////////////////////
SignalEvent(oArea,EventUserDefined(4000)); //on fait un refresh si on active.
/////////////////////////////////////////////////////////////////////////////

/////////////////////////////CALCULS POUR RODEUR/////////////////////////////
int nlvl=GetHitDice(oTarget);
int nSearch=SKILL_SEARCH;
int nLore=SKILL_LORE;
int nCalcul=nlvl*2 + d20()+ (nSearch + nLore)/2 - (iTempsPasser)/2;
/////////////////////////////////////////////////////////////////////////////




/////////////////////////////////////////////////////////////////////////////
////////////////////////////////FONCTIONS////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, 1.0, 15.0);

/////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste1;
if (iTempsPiste1 >=nHourMax && GetLocalString(oArea, "abberration") =="d'abberration")
{
DeleteLocalString(oArea, "abberration");
DeleteLocalInt(oArea, "ptabberration");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "abberration")=="d'abberration")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"abberration"))+" il y a "+ (sTemps), oTarget);
}
/////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste2;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"animal")!= "")
{
DeleteLocalString(oArea, "animal");
DeleteLocalInt(oArea, "ptanimal");
}
if (GetLocalString(oArea, "animal")!="" )
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"animal"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste3;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"beast")=="de bête primitive")
{
DeleteLocalString(oArea, "beast");
DeleteLocalInt(oArea, "ptbeast");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "beast")=="de bête primitive")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"beast"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste4;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"artificiel")=="de créature artificielle")
{
DeleteLocalString(oArea, "artificiel");
DeleteLocalInt(oArea, "ptartificiel");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "artificiel")== "de créature artificielle")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"artificiel"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste5;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"dragon")=="de dragon")
{
DeleteLocalString(oArea, "dragon");
DeleteLocalInt(oArea, "ptdragon");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "dragon")=="de dragon")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"dragon"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste6;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"nain")=="de nain")
{
DeleteLocalString(oArea, "nain");
DeleteLocalInt(oArea, "ptnain");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "nain")=="de nain")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"nain"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste7;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"elemental")=="d'élémental")
{
DeleteLocalString(oArea, "elemental");
DeleteLocalInt(oArea, "ptelemental");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "elemental")=="d'élémental")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"elemental"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste8;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"elfe")=="d'elfe")
{
DeleteLocalString(oArea, "elfe");
DeleteLocalInt(oArea, "ptelfe");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "elfe")=="d'elfe")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"elfe"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste9;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"fee")=="de fée")
{
DeleteLocalString(oArea, "fee");
DeleteLocalInt(oArea, "ptfee");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "fee")=="de fée")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"fee"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste10;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea, "geant")=="de géant")
{
DeleteLocalString(oArea, "geant");
DeleteLocalInt(oArea, "ptgeant");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "geant")=="de géant")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"geant"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste11;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"gnome")=="de gnome")
{
DeleteLocalString(oArea, "gnome");
DeleteLocalInt(oArea, "ptgnome");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "gnome")=="de gnome")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"gnome"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste12;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"demielf")=="de demi-elfe")
{
DeleteLocalString(oArea, "demielf");
DeleteLocalInt(oArea, "ptdemielf");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "demielf")=="de demi-elfe")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"demielf"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste13;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"halfling")=="de petit-gens")
{
DeleteLocalString(oArea, "halfling");
DeleteLocalInt(oArea, "pthalfling");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "halfling")=="de petit-gens")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"halfling"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste14;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"demiorc")=="de demi-orque")
{
DeleteLocalString(oArea, "demiorc");
DeleteLocalInt(oArea, "ptdemiorc");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "demiorc")=="de demi-orque")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"demiorc"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste15;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"humain")=="d'humain")
{
DeleteLocalString(oArea, "humain");
DeleteLocalInt(oArea, "pthumain");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "humain")=="d'humain")//  && nDD < nCalcul)
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"humain"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste16;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"goblin")=="de goblin")
{
DeleteLocalString(oArea, "goblin");
DeleteLocalInt(oArea, "ptgoblin");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "goblin")=="de gobelin")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"goblin"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste17;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"humanoide")=="d'humanoide")
{
DeleteLocalString(oArea, "humanoide");
DeleteLocalInt(oArea, "pthumanoide");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "humanoide")=="d'humanoide")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"humanoide"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste18;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"orc")=="d'orque")
{
DeleteLocalString(oArea, "orc");
DeleteLocalInt(oArea, "ptorc");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "orc")=="d'orque")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"orc"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste19;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"reptile")=="reptile")
{
DeleteLocalString(oArea, "reptile");
DeleteLocalInt(oArea, "ptreptile");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "reptile")=="reptile")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"reptile"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste20;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"magique")=="de créature magique")
{
DeleteLocalString(oArea, "magique");
DeleteLocalInt(oArea, "ptmagique");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "magique")=="de monstre magique")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"magique"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste21;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"vase")=="de vase")
{
DeleteLocalString(oArea, "vase");
DeleteLocalInt(oArea, "ptvase");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "vase")=="de vase")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"vase"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste22;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"outsider")=="d'extra-planètaire")
{
DeleteLocalString(oArea, "outsider");
DeleteLocalInt(oArea, "ptoutsider");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "outsider")=="d'extra-planètaire")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"outsider"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste23;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"shapechanger")=="de changeur de forme")
{
DeleteLocalString(oArea, "shapechanger");
DeleteLocalInt(oArea, "ptshapechanger");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "shapechanger")=="de changeur de forme")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"shapechanger"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste24;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"undead")=="de mort-vivant")
{
DeleteLocalString(oArea, "undead");
DeleteLocalInt(oArea, "ptundead");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "undead")=="de mort-vivant")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"undead"))+" il y a "+ (sTemps), oTarget);
}
////////////////////////////////////////////////////////////////////////////
iTempsPasser= iCurrentTime - iTempsPiste25;
if ( iTempsPasser >= nHourMax && GetLocalString(oArea,"vermine")!="")
{
DeleteLocalString(oArea, "vermine");
DeleteLocalInt(oArea, "ptvermine");
}
if (iTempsPasser < nHourMax && GetLocalString(oArea, "vermine")!="")
{
string sTemps=IntToString(iTempsPasser)+" heures.";
FloatingTextStringOnCreature("Des traces " + (GetLocalString(oArea,"vermine"))+" il y a "+ (sTemps), oTarget);
}
///////////////////////////////FIN DES LOCALINT/////////////////////////////////


}  //end  ok
///////////////////////////////FIN DES FONCTIONS////////////////////////////////

//////////////////////////////////CALENDRIER////////////////////////////////////
int CurrentTime()
{          //ok
return GetCalendarYear()*8064 + GetCalendarMonth()*672 + GetCalendarDay()*24 + GetTimeHour();
}          //ok
////////////////////////////////////////////////////////////////////////////////
Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.

_________________
L'imagination est plus importante que le savoir. (Albert Einstein)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 73.081ms