SA-MP Forums Archive
[Off] Return pode fazer o cуdigo retornar ? - 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: [Off] Return pode fazer o cуdigo retornar ? (/showthread.php?tid=594683)



Return pode fazer o cуdigo retornar ? - Detoria - 21.11.2015

Antes que vocк diga pra mim "mas й pra isso que o return serve, imbecнl", eu quero deixar claro que nгo й isso que eu quero dizer, talvez..sei lб.

O return , por algum motivo, apareceu com documentaзгo agora na wiki, e parece que, vocк pode usar o return sem nada (Igual a C) que ele volta pra parte de onde ele foi chamado, foi isso que eu entendi.

Entгo, algo como isso poderia funcionar:

PHP код:
#define wait(%0) \
    
SetTimer("GetOverHere",%0,false)
forward GetOverHere();
public 
GetOverHere()
    return; 
Eu nгo sei se deve funcionar, havia tentado em meu gamemode e nгo deu erro nenhum na compilaзгo, muito menos na hora de jogar entгo...

Ah, e pra quem nгo entendeu o exemplo ali, й uma funзгo que espera passar %0 milisegundos e depois retorna pra parte exata do script em que foi chamada, ou seja:

PHP код:
main()
{
    print(
"A callback OnGameModeInit jб foi chamada..."); //Ok
    
wait(1000); //Tudo pode esperar, e eu sei que essa funзгo jб existe e vai funcionar aqui, mas..
    
print("...e jб faz um segundo que isso aconteceu."); //Depois de um segundo (1000 milisegundos), o servidor mandarб esta mensagem.

Por favor, nгo levem esse cуdigo a sйrio.


Re: Return pode fazer o cуdigo retornar ? - PT - 22.11.2015

Return no pawn serve apenas para devolver um valor como resposta.

Se nгo tiver nada ele assumirб como 0 na maior parte dos casos, mas nem sempre depende do script.

O mais correto й mesmo colocar 0 ou 1 quando nгo importa o valor que ele irб devolver


Re: Return pode fazer o cуdigo retornar ? - n0minal - 22.11.2015

wait nгo vai freezar seu cуdigo, usa CTime plugin caso queira um wait de verdade.


Re: Return pode fazer o cуdigo retornar ? - Detoria - 22.11.2015

Que pena, se bem que, nгo conseguiria pensar em outra funcionalidade caso o return funcionasse assim tambйm...

Tranqьilo entгo, obrigado pela resposta e esclarecimento, era meio louco mesmo pensar sobre o funcionamento disso...


Re: Return pode fazer o cуdigo retornar ? - rjjj - 22.11.2015

Veja o que diz o manual de referкncia do Pawn :







Entгo, o comportamento do return no seu cуdigo seria o mesmo desta linha:



Код:
return 0;

Nesse cуdigo, em termos de funcionalidade, o wait faria o conteъdo da funзгo pъblica GetOverHere ser rodado apуs o tempo especificado. Porйm, essa temporizaзгo aconteceria paralelamente ao processamento do restante do cуdigo Pawn, fazendo com que o cуdigo abaixo do wait fosse sempre imediatamente executado .



Alйm disso, o return da funзгo GetOverHere desviaria o controle para um cуdigo desconhecido, nгo para o local de acionamento do wait. Isso porque a funзгo nгo seria chamada pelo mйtodo convencional, mas sim por intermйdio da nativa SetTimer.



Espero ter ajudado .