SA-MP Forums Archive
[Ajuda] Random - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Random (/showthread.php?tid=484787)



Random - xPaulistaa - 01.01.2014

Estou usando essa stock:
pawn Код:
stock RandomEx(minnum = cellmin, maxnum = cellmax) return random(maxnum - minnum + 1) + minnum;
E estou fazendo uma random aleatуria de musicas.

Exe:

pawn Код:
CMD:escutarmusica(playerid)
{
    new randmu = RandomEx(1, 7), Musicaa[40], String[20];
    if(randmu == 1) Musicaa = "Musica Code";
    else if(randmu == 2) Musicaa = "Musica Code";
    else if(randmu == 3) Musicaa = "Musica Code";
    else if(randmu == 4) Musicaa = "Musica Code";
    else if(randmu == 5) Musicaa = "Musica Code";
    else if(randmu == 6) Musicaa = "Musica Code";
    else if(randmu == 7) Musicaa = "Musica Code";
    format(String, sizeof(String), "Musica %d", randmu);
    SendClientMessage(playerid, -1, String);
    return 1;
}
Mas eu quero fazer, que NUNCA repita a mesma random.

Porque as vezes, repete a mesma mъsica.

Tem algum jeito de fazer a random, nгo repetir?


Re: Random - Blitz22 - 01.01.2014

Tente assim


pawn Код:
new RandomMusica[3][] = // Nomes Server Random
{
    "Link da musica 1",
    "Link da musica 2",
    "Link da musica 3"
};
 
CMD:escutarmusica(playerid)
{

SendMSG();
}

//Coloque o cуdigo abaixo fora de publics
forward SendMSG();      
public SendMSG()//Aqui a public
{
    new string[256];
    new randMSG = random(sizeof(RandomMusica));
    format(string,sizeof(string),"hostname %s",RandomMusica[randMSG]);
    SendRconCommand(string);
}



Re: Random - xPaulistaa - 01.01.2014

Quote:
Originally Posted by Blitz22
Посмотреть сообщение
Tente assim


pawn Код:
new RandomMusica[3][] = // Nomes Server Random
{
    "Link da musica 1",
    "Link da musica 2",
    "Link da musica 3"
};
 
CMD:escutarmusica(playerid)
{

SendMSG();
}

//Coloque o cуdigo abaixo fora de publics
forward SendMSG();      
public SendMSG()//Aqui a public
{
    new string[256];
    new randMSG = random(sizeof(RandomMusica));
    format(string,sizeof(string),"hostname %s",RandomMusica[randMSG]);
    SendRconCommand(string);
}
Random assim, tambйm repete algumas vezes, pelo menos aqui.


Re: Random - PT - 01.01.2014

coloca 1 variбvel a "dizer" que aquela musica ja foi reproduzida.

dps disso faz reproduzir, 1 que ainda n tenha sido reproduzida..


Re: Random - xPaulistaa - 01.01.2014

Pode me mostrar um exemplo ?


Re: Random - Schocc - 01.01.2014

Use matemбtica e lуgica, sу precisa saber aritmйtica junto de variбveis.
Caso contrario, crie um sistema por sequencia. (acho a melhor opзгo)