mensagem retornando -
DAKOT4 - 25.03.2013
To fazendo minha Humilde 24/7 , mais to com um pequeno BUG .
Quando eu vou comprar o item 1 , Fala que eu nгo tenho dinheiro suficiente, OK .
Mais ai torna mostrar as mensagens dos Itens da Loja . Eu nгo quero isso .
Alguйm sabe como fazer para nгo voltar a aparecer a lista de itens ?
pawn Код:
CMD:comprar(playerid, params [])
{
if (pInfo[playerid][Pode_Fazer_Compras] == 0)
{
SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma Loja");
return 1;
}
new
Item
;
if (sscanf(params, "i", Item))
{
SendClientMessage(playerid, Laranja, "Use: /Comprar [Id do Item]");
}
SendClientMessage(playerid, Vermelho, "----------------Loja----------------");
SendClientMessage(playerid, Branco , "[1] - Carteira de Motorista");
SendClientMessage(playerid, Branco , "[2] - Quentinha");
SendClientMessage(playerid, Branco , "[3] - Celular");
SendClientMessage(playerid, Vermelho, "------------------------------------");
if ( Item > 3 || Item < 0 )
{
SendClientMessage(playerid, Branco, "Nъmero de Item Invбlido");
return 1;
}
if(Item == 1)
{
if(!(GetPlayerMoney(playerid) >= 5000))
{
SendClientMessage(playerid, Vermelho, "Vocк nгo tem {FFFFFF}R$: 5000");
return 1;
}
{
pInfo[playerid][Licenciado] = 1;
SendClientMessage(playerid, Laranja, "Vocк comprou uma Carteira de Motorista por {FFFFFF}R$: 5000");
return 1;
}
}
if(Item == 2)
{
SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");
}
if(Item == 3)
{
SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");
}
return 1;
}
Respuesta: mensagem retornando -
Pedro Pawno - 25.03.2013
por que a cada item vocк estб retornando a 1?
Re: mensagem retornando -
DAKOT4 - 25.03.2013
Por que й assim que eu faзo as verificaзхes po .
Re: mensagem retornando -
n0minal - 25.03.2013
tenta isso:
if(GetPlayerMoney(playerid) <= 5000)
Respuesta: mensagem retornando -
Pedro Pawno - 25.03.2013
pelo que eu saiba nгo percisa retornar a 1 valor, para verificar alguma coisa й so retornar exemplo:
pawn Код:
return SendClientMessage(playerid,-1,"VOcк nгo tem a grana");
eu posso atй estar errado mais acho que o correto й assim, volto a dizer apreste atenзгo nos operadores. : P
Re: mensagem retornando -
DAKOT4 - 25.03.2013
Pedro , й o return da verificaзгo do dinheiro que faz a lista de itens aparecer novamente ?
Re: mensagem retornando -
Lуs - 25.03.2013
Jб й o 3є post seu que eu falo praticamente a mesma coisa:
"Nгo esqueзa o return do sscanf, se vocк nгo retornar, a funзгo vai continuar mesmo estando incorreta."
Para isso que vocк quer, a melhor opзгo й switch.
pawn Код:
CMD:comprar(playerid, params [])
{
if (pInfo[playerid][Pode_Fazer_Compras] == 0)
return SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma Loja");
new
Item
;
if (sscanf(params, "i", Item))
{
SendClientMessage(playerid, Vermelho, "----------------Loja----------------");
SendClientMessage(playerid, Branco , "[1] - Carteira de Motorista");
SendClientMessage(playerid, Branco , "[2] - Quentinha");
SendClientMessage(playerid, Branco , "[3] - Celular");
SendClientMessage(playerid, Vermelho, "------------------------------------");
return SendClientMessage(playerid, Laranja, "Use: /Comprar [Id do Item]");
}
SendClientMessage(playerid, Vermelho, "----------------Loja----------------");
SendClientMessage(playerid, Branco , "[1] - Carteira de Motorista");
SendClientMessage(playerid, Branco , "[2] - Quentinha");
SendClientMessage(playerid, Branco , "[3] - Celular");
SendClientMessage(playerid, Vermelho, "------------------------------------");
if ( Item > 3 || Item < 0 )
return SendClientMessage(playerid, Branco, "Nъmero de Item Invбlido");
switch ( Item )
{
case 1:
{
if(GetPlayerMoney(playerid) > 5000)
return SendClientMessage(playerid, Vermelho, "Vocк nгo tem {FFFFFF}R$: 5000");
pInfo[playerid][Licenciado] = 1;
SendClientMessage(playerid, Laranja, "Vocк comprou uma Carteira de Motorista por {FFFFFF}R$: 5000");
return 1;
}
case 2:
return SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");
case 3:
return SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");
}
return 1;
}
Re: mensagem retornando -
DAKOT4 - 25.03.2013
Oxe Los, nгo entendi NADA agora .
Re: mensagem retornando -
DAKOT4 - 25.03.2013
Adaptei o Cуdigo do Los , fiz assim e deu certo :
pawn Код:
CMD:comprar(playerid, params [])
{
if (pInfo[playerid][Pode_Fazer_Compras] == 0)
{
SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma Loja");
return 1;
}
new
Item
;
if (sscanf(params, "i", Item))
{
SendClientMessage(playerid, Vermelho, "----------------Loja----------------");
SendClientMessage(playerid, Branco , "[1] - Carteira de Motorista");
SendClientMessage(playerid, Branco , "[2] - Quentinha");
SendClientMessage(playerid, Branco , "[3] - Celular");
SendClientMessage(playerid, Vermelho, "------------------------------------");
return SendClientMessage(playerid, Laranja, "Use: /Comprar [Id do Item]");
}
if ( Item > 3 || Item < 0 )
{
SendClientMessage(playerid, Branco, "Nъmero de Item Invбlido");
return 1;
}
switch ( Item )
{
case 1:
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid, Vermelho, "Vocк nгo tem {FFFFFF}R$: 5000");
return 1;
}
pInfo[playerid][Licenciado] = 1;
SendClientMessage(playerid, Laranja, "Vocк comprou uma Carteira de Motorista por {FFFFFF}R$: 5000");
return 1;
}
case 2:
{
SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");
}
case 3:
{
SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");
}
}
return 1;
}
Re: mensagem retornando -
Lуs - 25.03.2013
Quote:
Originally Posted by DAKOT4
Oxe Los, nгo entendi NADA agora .
|
pawn Код:
CMD:comprar(playerid, params [])
{
//Verificando se a variбvel do jogador й 0
if (pInfo[playerid][Pode_Fazer_Compras] == 0)
return SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma Loja");//retornando uma mensagem ao jogador e encerrando a funзгo
new
Item;//declarando a variбvel item
if (sscanf(params, "i", Item))//processando a variбvel item
{
SendClientMessage(playerid, Vermelho, "----------------Loja----------------");
SendClientMessage(playerid, Branco , "[1] - Carteira de Motorista");
SendClientMessage(playerid, Branco , "[2] - Quentinha");
SendClientMessage(playerid, Branco , "[3] - Celular");
SendClientMessage(playerid, Vermelho, "------------------------------------");
return SendClientMessage(playerid, Laranja, "Use: /Comprar [Id do Item]");//enviando mensagens de ajuda e encerrando a funзгo, pois o jogador errou os parвmetros.
}
SendClientMessage(playerid, Vermelho, "----------------Loja----------------");//enviando mensagens de ajuda com nъmero dos itens para o jogador
SendClientMessage(playerid, Branco , "[1] - Carteira de Motorista");
SendClientMessage(playerid, Branco , "[2] - Quentinha");
SendClientMessage(playerid, Branco , "[3] - Celular");
SendClientMessage(playerid, Vermelho, "------------------------------------");
if ( Item > 3 || Item < 0 )//checando se o valor de item й maior que 3 ou menor do que 0
return SendClientMessage(playerid, Branco, "Nъmero de Item Invбlido");//caso for, retorna a mensagem e encerra a funзгo
switch ( Item )//Informa que vocк quer selecionar a variбvel Item e quer checar ela
{
case 1://caso o valor da variбvel Item for 1 ela continua abaixo
{
if(GetPlayerMoney(playerid) < 5000)//checa se o dinheiro do jogador й menor do que 5000
return SendClientMessage(playerid, Vermelho, "Vocк nгo tem {FFFFFF}R$: 5000");//caso for encerra a funзгo informando que o jogador nгo tem dinheiro suficiente
pInfo[playerid][Licenciado] = 1;//altera a variavel do jogador para 1
SendClientMessage(playerid, Laranja, "Vocк comprou uma Carteira de Motorista por {FFFFFF}R$: 5000");//envia uma mensagem ao jogador, informando que comprou o item
return 1;//encerra a funзгo
}
case 2://caso o valor for 2 continua abaixo
return SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");//encerra a funзгo e informa que o item estб indisponнvel
case 3://caso o valor for 3
return SendClientMessage(playerid, Branco, "Item Indisponнvel no Momento.");//encerra a funзгo e informa que o item estб indisponнvel
}
return 1;//encerra a funзгo
}