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(playerid, VERMELHO_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(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;
}