[AJUDA] Random player.
#1

depois de muito tempo sem pedir ajuda aqui, tive que apelar heuhaeueahuea
bom, estou tentando pegar um player random desta maneira:

pawn Код:
public Random()
{
    for(new i = 0; i < Slots; i++)
    {
        if(IsPlayerConnected(i))
        {
            new p = random(i);
etc.
mas nгo estб funcionando. se alguem souber como posso fazer isto ajude ai pls. obg
Reply
#2

pawn Код:
forward ReturnRandomID();
public ReturnRandomID()
{
    for(new i=0 i<9999999999; i++)
    {
        new rand = random(MAX_PLAYERS);
        if(rand != INVALID_PLAYER_ID)
        return rand;
    }
    return 1;
}
to com dor de cabeзa de tanto codar hj entao fiz isso sem usar 1 neuronio.

ps: muda seu MAX_PLAYERS pra o numero de slots do seu sv, ou o numero maximo de players q seu sv atinge (um numero seguro) ai o teste fica mais eficaz e seu sv fica mais optimizado (vai dar ate pra ver no .amx o tamanho do arquivo)

nossa vei meu comando com for ficou um anus...

pawn Код:
forward ReturnRandomID();
public ReturnRandomID()
{
    new rand = random(MAX_PLAYERS);
    while(rand == INVALID_PLAYER_ID)
    {
        rand = random(MAX_PLAYERS);
    }
    return rand;
}
Esse ta milhу...
Reply
#3

pawn Код:
new playerid = -1, arrayJogadores[MAX_PLAYERS];
for(new i = 0; i != MAX_PLAYERS; ++i) if(IsPlayerConnected(i))
{
    arrayJogadores[playerid++] = i;
}
playerid = arrayJogadores[random(playerid)];

/*
Agora playerid serб o jogador random
*/
Agradeзo Reputation

Quote:

Esse ta milhу...

Melhor? O seu ficou totalmente mal otimizado e ruim, com todo respeito, amigo.
Alйm do mais nem funciona direito
Reply
#4

Para obter um jogador aleatуrio aconselho o uso de foreach, alйm de ser muito mais rбpido, ele lhe entrega o id de um jogador online. (Bem, ainda nгo testei, mas foi o que me contaram...)

pawn Код:
#include <foreach>
forward ReturnRandomPlayerID();
public ReturnRandomPlayerID()
{
    new randomplayer = Iter_Random(Player);
    return randomplayer;
}
Vocк pode encontrar a include aqui: https://sampforum.blast.hk/showthread.php?tid=92679
Reply
#5

Olha minha cara de preocupaзгo >

ps: nem me deu vontade de ler seu comando.
Reply
#6

Quote:
Originally Posted by Larceny
Посмотреть сообщение
Para obter um jogador aleatуrio aconselho o uso de foreach, alйm de ser mais rбpido, ele lhe entrega o id de um jogador online. (Bem, ainda nгo testei, mas foi o que me contaram...)

pawn Код:
#include <foreach>
forward ReturnRandomPlayerID();
public ReturnRandomPlayerID()
{
    new randomplayer = Iter_Random(Player);
    return randomplayer;
}
Vocк pode encontrar a include aqui: https://sampforum.blast.hk/showthread.php?tid=92679
Ele nгo estб usando foreach pelo visto ..


Quote:
Originally Posted by Pharrel
Посмотреть сообщение
Olha minha cara de preocupaзгo >

ps: nem me deu vontade de ler seu comando.
Criticas sгo boas, lhe ajudam a te tornar uma melhor pessoa.
Parabйns por tentar ajudar, mas seu cуdigo nгo era bom, assuma seu erro
Reply
#7

Nгo me importa a circunstвncia por ter finalizado o cуdigo daquele jeito, mas sim como ele foi finalizado.
Reply
#8

Vei...chega, meu codigo ta uma bosta, o primeiro chega a ser vergonhoso sу de ter passado pela minha cabeзa, mas eu vi um topico sem nenhuma resposta e resolvi ajudar, sу vim no forum ver c tinha recebido uma MP q to esperando... chega ok? vms acabar com o flood do forum.
Reply
#9

Exatamente.
Reply
#10

nгo consegui com nenhum dos cуdigos.

@Head
manda seu msn por mp.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)