[Ajuda] Pequena dъvida sobre o 'return 0'.
#1

Desde quando eu comecei a aprender pawn, eu nunca soube realmente o que й o return...
Eu simplesmente sei que serve pra retornar...
Exemplo, em um comando.
If(!IsPlayerAdmin) return SendClient...
Na maioria das vezes eu utilizo o return 1, sem mesmo saber porque nгo colocar o 0.
Eu, pensando nisso e vendo a include do Lуs, vi isso:
pawn Код:
stock LerLog(const File[])
{
    if(!fexist(File))
    {
        printf("Esse arquivo nгo existe, utilize CriarLog(\"arquivo\"");
        return 0;
    }
    new string[100];
    new File:Arquivo = fopen(File, io_read);
    while(fread(Arquivo, string))
    {
        printf("[ %s ] %s", File, string);
        return 1;
    }
    fclose(Arquivo);
    return 1;
}
E vi o "return 0" no primeiro if, e fiquei me perguntando: pra que serve realmente o return 0 e o que aconteceria se nгo existisse o return 0 ou 1.
Reply
#2

Return = Retorna 0 - Atualizaзгo a partir deste jogador nгo serб replicado para outros clientes.
Return = Retorna 1 - Indica que essa atualizaзгo pode ser processado normalmente e enviados para outros jogadores.


Esse й o maximo de informaзхes que eu posso dar a vc, sou iniciante em pawno lek '-'
Reply
#3

Quote:
Originally Posted by whiXґ
Посмотреть сообщение
Return = Retorna 0 - Atualizaзгo a partir deste jogador nгo serб replicado para outros clientes.
Return = Retorna 1 - Indica que essa atualizaзгo pode ser processado normalmente e enviados para outros jogadores.


Esse й o maximo de informaзхes que eu posso dar a vc, sou iniciante em pawno lek '-'
Poderia dar um exemplo do return 0? Nгo entendi muito bem...
Reply
#4

Nгo acontece nada de diferente, o return serve pra finalizar a execuзгo da funзгo e, ao mesmo tempo, indentificar qual foi o resultado da funзгo.

1 pode ser entendido como true(verdade)
0 pode ser entendido como false(falso)

Exemplo:
pawn Код:
public OnFilterScriptInit()
{
    if(Soma_De_2_Mais_2_E_Igual_A_4() == 1) print("2 mais 2 й igual a 4");
    if(Soma_De_2_Mais_2_E_Igual_A_4() == 0) print("2 mais 2 nгo й igual a 4");
    return 1;
}

Soma_De_2_Mais_2_E_Igual_A_4()
{
    if(2 + 2 == 4) return 1;
    else return 0;
}
Reply
#5

http://forum.sa-mp.com/showthread.ph...rial+variaveis
Reply
#6

Valeu os dois ae, REP+.
Reply
#7

pawn Код:
 
return 0; nгo existe uma definiзгo definitiva,
podemos usar tambйm:

pawn Код:
return -1;
return 1999999;
Pequeno exemplo:
pawn Код:
stock Carls(ash)
    return ash * 100;

// No OnFilterScriptInit
printf("%d", Carls(9);
// vai aparecer 900
concluimos que return 0 ou return 1, manda a mensagem a condicional que faz realizar as aзхes caso estiverem em concordвncia.



espero ter ajudado =)
Reply
#8

Valeu Caroline, agora eu entendi perfeitamente...
REP+!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)