SA-MP Forums Archive
[Ajuda] Return, Operadores ??? - 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] Return, Operadores ??? (/showthread.php?tid=541966)



Return, Operadores ??? - PetterAdriano - 15.10.2014

Bom pessoal estou com uma dъvida, por que quando uma variavel й colocar com o return nгo da o mesmo valor de outra variavel sem o return ?

olhem.

Obs, do jeito que eu quero й que tipo, para a funзгo pegar o jogador precisa ser cop e estar sem farda ou precisa ser um civil, tipos mais quando eu mudo, os exemplos muda abaixo tambйm, apenas o terceiro pega, pq ele й o ъnico que ta sem return, pq isso ?

Desse jeito bloqueia a funзгo.
pawn Код:
CMD:skin(playerid, params[])
{
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, 217.5303, -97.8807, 1005.2578)) return SendClientMessage(playerid,VERMELHO_BEM_CLARO ,"Vocк nгo estб na loja de roupas!");
    if(DadosJogador[playerid][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR && Bater_Cartao[playerid] == false || DadosJogador[playerid][ORGANIZACAO_JOGADOR] == CIVIL) return SendClientMessage(playerid, VERMELHO_BEM_CLARO , "Apenas Civis e policiais em folga pode comprar skins.");
    ShowModelSelectionMenu(playerid, SkinLista, "Menu de Skin");
    return true;
}
e desse jeito tambйm bloqueia a funзгo
pawn Код:
if(DadosJogador[playerid][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR && Bater_Cartao[playerid] == false || DadosJogador[playerid][ORGANIZACAO_JOGADOR] == CIVIL)
    {
        SendClientMessage(playerid, VERMELHO_BEM_CLARO , "Apenas Civis e policiais em folga pode comprar skins.");
        return true;
    }
Desse outro jeito a funзгo й setada com sucesso.
pawn Код:
CMD:skin(playerid, params[])
{
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, 217.5303, -97.8807, 1005.2578)) return SendClientMessage(playerid,VERMELHO_BEM_CLARO ,"Vocк nгo estб na loja de roupas!");
    if(DadosJogador[playerid][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR && Bater_Cartao[playerid] == false || DadosJogador[playerid][ORGANIZACAO_JOGADOR] == CIVIL)
    {
        ShowModelSelectionMenu(playerid, SkinLista, "Menu de Skin");
    }
    else
    {
        SendClientMessage(playerid, VERMELHO_BEM_CLARO , "Apenas Civis e policiais em folga pode comprar skins.");
    }
    return true;
}



Re: Return, Operadores ??? - ProKillerpa - 15.10.2014

Nгo entendi muito bem, explica mais claro.


Re: Return, Operadores ??? - PetterAdriano - 15.10.2014

Quote:
Originally Posted by ProKillerpa
Посмотреть сообщение
Nгo entendi muito bem, explica mais claro.
Tipo as outras funзхes sempre da um bloqueio, essa й a ъnica que a funзгo й setada com sucesso

pawn Код:
CMD:skin(playerid, params[])
{
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, 217.5303, -97.8807, 1005.2578)) return SendClientMessage(playerid,VERMELHO_BEM_CLARO ,"Vocк nгo estб na loja de roupas!");
    if(DadosJogador[playerid][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR && Bater_Cartao[playerid] == false || DadosJogador[playerid][ORGANIZACAO_JOGADOR] == CIVIL)
    {
        ShowModelSelectionMenu(playerid, SkinLista, "Menu de Skin");
    }
    else
    {
        SendClientMessage(playerid, VERMELHO_BEM_CLARO , "Apenas Civis e policiais em folga pode comprar skins.");
    }
    return true;
}
Essa й a ъnica que nгo tem return as outras duas tem.

Tenho ano de pawno, e sempre tive dificuldades de aprender operadores mano, as funзхes que dгo certo sу as que tem else por que as outras sempre da um bloqueio ta foda de entender.


Re: Return, Operadores ??? - ProKillerpa - 15.10.2014

Olha bem para o que vocк estб fazendo.

PHP код:
if(DadosJogador[playerid][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR && Bater_Cartao[playerid] == false || DadosJogador[playerid][ORGANIZACAO_JOGADOR] == CIVIL) return SendClientMessage(playeridVERMELHO_BEM_CLARO "Apenas Civis e policiais em folga pode comprar skins."); 
O Return vai retornar o primeiro valor se a afirmaзгo que vocк quer for certa/errada dependendo da mesma.
Veja o IF de todas os cуdigos que vocк postou. Para os outros cуdigos funcionar, vocк deve usar ! na frente, porque essa afirmaзгo que vocк colocou acima й igual as outras, porйm neste vocк estб bloqueando.

Veja abaixo o modo correto de usar, olhe bem que vocк irб ver seu erro. Nгo hб nada de errado entre return e else.

PHP код:

CMD
:skin(playeridparams[])
{
    if(!
IsPlayerInRangeOfPoint(playerid3.0217.5303, -97.88071005.2578)) return SendClientMessage(playerid,VERMELHO_BEM_CLARO ,"Vocк nгo estб na loja de roupas!");
    if(!
DadosJogador[playerid][ORGANIZACAO_JOGADOR] == POLICIA_MILITAR && Bater_Cartao[playerid] == false || DadosJogador[playerid][ORGANIZACAO_JOGADOR] == CIVIL) return SendClientMessage(playeridVERMELHO_BEM_CLARO "Apenas Civis e policiais em folga pode comprar skins.");
    
ShowModelSelectionMenu(playeridSkinLista"Menu de Skin");
    return 
true;