Une petite méthode de génération de nombres pseudo-aléatoire...
Avantage : tu ne générera pas le même nombre en rentrant sur une zone
Inconvenient : c'est une suite... donc a partir d'un nombre donné les nombres générés a la suite seront toujours les mêmes...
Mais c'est suffisant pour donner l'illusion d'une génération aléatoire dans la plupart des cas
Allez on commence :
D'abord créer un nouveau script, enlever la fonction main() et y mettre :
int GetRandom( int nNum )
{
int nSeed = GetLocalInt(GetModule(), "Random_Seed");
//calculate new seed
nSeed = (nSeed * 69) + 1;
string sSeed;
if ( nSeed > 999 ){
sSeed = IntToString( nSeed );
nSeed = StringToInt(GetStringRight( sSeed, 3 ));
}
SetLocalInt( GetModule(), "Random_Seed", nSeed );
//generate the random number from seed
float fSeed = IntToFloat( nSeed );
float fNum = IntToFloat( nNum );
int nResult = FloatToInt( fSeed * fNum / 1000 );
return nResult;
}
Sauvegarder le tout sous le nom 'inc_random'.
deuxième étape, insérer dans le 'OnModuleLoad' la ligne suivante :
SetLocalInt( GetModule(), "Random_Seed", GetTimeMillisecond() );
et voila...
Maintenant, comment utiliser cette fonction :
au début du script ou tu veux l'utiliser, rajouter
après tu peux utiliser la fonction GetRandom(X), ou X est un entier quelconque, et qui te renverra un entier pseudo-aléatoires compris entre 0 et X-1.
Voila, je sais pas si ça te sera utile, mais vu que j'ai trouvé amusant de bricoler ça, ce serait bête de pas en faire profiter tout le monde