[Pedido] codigo verificar quantidade de players?
#1

Exemplo, pra comeзar uma corrida o player tem que ir atй uma GZ, chegando la ele so pode iniciar a corrida se tiver 5 players online no servidor.

alguem tem algum parecido?
Reply
#2

PHP код:
IsFiveOnline()
{
    new 
z;
    for(new 
i; i < 5; i++)
    {
        if(
IsPlayerConnected(i)) z++;
    }
    return (
z == 4) ? (1) : (0);
}
/*
Retorna 1 caso esteja 5 online.
Retorna 0 caso nгo esteja 5 online.
*/ 
Reply
#3

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
PHP код:
IsFiveOnline()
{
    new 
z;
    for(new 
i; i < 5; i++)
    {
        if(
IsPlayerConnected(i)) z++;
    }
    return (
z == 4) ? (1) : (0);
}
/*
Retorna 1 caso esteja 5 online.
Retorna 0 caso nгo esteja 5 online.
*/ 
Desculpe mais vejo um erro no seu cуdigo, na verdade nгo й erro no cуdigo mas sim na funcionalidade. Por exemplo se tiver 6 jogadores online. ID: 0, ID: 1, ID: 2, ID: 3, ID: 4, ID: 5, ID: 6. Se o ID 2 e 3 sairem por exemplo.
O Loop vai passar por 0, 1, [nгo vai estб conectado]2, [nгo vai estб conectado]3, 4. Entгo ele vai contar somente 3. Mesmo tendo mais pessoas onlines. Entгo o mais correto seria.

PHP код:
IsFiveOnline()
{
    new 
z;
    for(new 
i, j = GetPlayerPoolSize(); i <= j; i++)
    {
        if(
IsPlayerConnected(i)) z++;
    }
    return (
z >= 5 ? (1) : (0));
} 
Ahh vocк esqueceu de fechar parenteses no final do return.
AhhІ Vocк colocou o operador de == ou seja se passar de 4 onlines a funзгo tambйm retornarб false.


@topic

Quote:
Originally Posted by SeckSeck
Посмотреть сообщение
pra ser mais especifico, tipo na GT (GTA TORCIDAS) pra dominar a sede de uma torcida sу pode dominar se tiver +5 players on da torcida... me ajudem ?
PHP код:
FactionCountMembers(playerid) // Nгo entendo nada de inglкs mas tento usar '-'
{
    new 
count;
    for(new 
i, j = GetPlayerPoolSize(); i <= j; i++)
    {
        if(
Faction[i] == Faction[playerid]) // Aqui vocк muda para a variбvel que obtйm o id da facзгo/torcida etc.
            
count++;
    }
    return 
count;
} 
Reply
#4

pra ser mais especifico, tipo na GT (GTA TORCIDAS) pra dominar a sede de uma torcida sу pode dominar se tiver +5 players on da torcida... me ajudem ?
Reply
#5

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
PHP код:
IsFiveOnline()
{
    new 
z;
    for(new 
i; i < 5; i++)
    {
        if(
IsPlayerConnected(i)) z++;
    }
    return (
z == 4) ? (1) : (0);
}
/*
Retorna 1 caso esteja 5 online.
Retorna 0 caso nгo esteja 5 online.
*/ 
pawn Код:
return (z == 4) ? (1) : (0);
й redundante. try this
pawn Код:
return z == 4;
Reply
#6

Quote:
Originally Posted by SammyJ
Посмотреть сообщение
Desculpe mais vejo um erro no seu cуdigo, na verdade nгo й erro no cуdigo mas sim na funcionalidade. Por exemplo se tiver 6 jogadores online. ID: 0, ID: 1, ID: 2, ID: 3, ID: 4, ID: 5, ID: 6. Se o ID 2 e 3 sairem por exemplo.
O Loop vai passar por 0, 1, [nгo vai estб conectado]2, [nгo vai estб conectado]3, 4. Entгo ele vai contar somente 3. Mesmo tendo mais pessoas onlines. Entгo o mais correto seria.

PHP код:
IsFiveOnline()
{
    new 
z;
    for(new 
i, j = GetPlayerPoolSize(); i <= j; i++)
    {
        if(
IsPlayerConnected(i)) z++;
    }
    return (
z >= 5 ? (1) : (0));
} 
Ahh vocк esqueceu de fechar parenteses no final do return.
AhhІ Vocк colocou o operador de == ou seja se passar de 4 onlines a funзгo tambйm retornarб false.


@topic



PHP код:
FactionCountMembers(playerid) // Nгo entendo nada de inglкs mas tento usar '-'
{
    new 
count;
    for(new 
i, j = GetPlayerPoolSize(); i <= j; i++)
    {
        if(
Faction[i] == Faction[playerid]) // Aqui vocк muda para a variбvel que obtйm o id da facзгo/torcida etc.
            
count++;
    }
    return 
count;
} 
Obrigado pela correзгo.
Quote:
Originally Posted by Skream
Посмотреть сообщение
pawn Код:
return (z == 4) ? (1) : (0);
й redundante. try this
pawn Код:
return z == 4;
Obrigado pela dica.
Reply
#7

Quote:
Originally Posted by Skream
Посмотреть сообщение
pawn Код:
return (z == 4) ? (1) : (0);
й redundante. try this
pawn Код:
return z == 4;
Tambйm nгo entendi porque ele usou operadores ternбrios ali.. mas enfim, se a intenзгo foi otimizar e torna-lo mais rбpido, ele nгo teve sucesso.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)