Portal SAMP
[Ajuda] Valor maximo[COMO DEFINIR] - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Valor maximo[COMO DEFINIR] (/showthread.php?tid=1974)



Valor maximo[COMO DEFINIR] - fear - 21/12/2021

boa noite. eu queria definir valor maximo pro player transferir o pix como eu faço... não esta dando certo..

Código PHP:
CMD:pix(playeridparams[])
{
    if(
ChecarPermissoes(playerid)) return 1;

    new 
idvalue;

    if(
GetPlayerMoney(playerid) < 6000) return Msg(playeridVermelho"Dinheiro insuficiente!Para comprar este item Você tera que ter $6.000");
    
    
    if(
SetPlayerMoney[playerid] > 20000))
            return 
SendClientMessage(playerid,-1,"{E84F33}<!> {FFFFFF}Preço minimo: {E84F33}R$1000 {FFFFFF}preço máximo:{E84F33} R$20000");
            
    if(
sscanf(params"ud"idvalue)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Pix [id] [valor]");
    

    if(!
IsPlayerConnected(id))
        return 
Msg(playeridVermelho"Player offline.");

    
GivePlayerMoney(idvalue);

    
SendClientMessageEx(idVerde"O Player %s fez um pix para você %d" Nome(playerid), value);
    
SendClientMessageEx(playeridVerde"Você setou a grana do player %s para %d" Nome(id), value);
    return 
1;




RE: Valor maximo[COMO DEFINIR] - xbruno1000x - 21/12/2021

Código:
if(value > VALOR_MAXIMO) return ERRO_AQUI;

Perceba que o sscanf retorna o valor do pix para a variável value, então é ela que necessita de uma if. O VALOR_MAXIMO deve ser substituído por um valor inteiro(por exemplo "value > 10000"). O retorno pode ser uma mensagem ou simplesmente retorne 0.


RE: Valor maximo[COMO DEFINIR] - fear - 21/12/2021

(21/12/2021 21:06)xbruno1000x Escreveu:
Código:
if(value > VALOR_MAXIMO) return ERRO_AQUI;

Perceba que o sscanf retorna o valor do pix para a variável value, então é ela que necessita de uma if. O VALOR_MAXIMO deve ser substituído por um valor inteiro(por exemplo "value > 10000"). O retorno pode ser uma mensagem ou simplesmente retorne 0.

Pior que me passaram desse jeito pelo discord e deu esse seguinte erro abaixo. não me toquei que precisaria de uma if pra variável value.

Código PHP:
CMD:pix(playeridparams[])
{
    if(
ChecarPermissoes(playerid)) return 1;

    new 
idvalue;

    if(
value 1000) return SendClientMessage(playerid"Valor maximo de 1000");

    if(
sscanf(params"ud"idvalue)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Pix [id] [valor]");


    if(!
IsPlayerConnected(id))
        return 
Msg(playeridVermelho"Player offline.");

    
GivePlayerMoney(idvalue);

    
SendClientMessageEx(idVerde"O Player %s fez um pix para você %d" Nome(playerid), value);
    
SendClientMessageEx(playeridVerde"Você setou a grana do player %s para %d" Nome(id), value);
    return 
1;

erro:
Código PHP:
error 035argument type mismatch (argument 2

linha:
Código PHP:
if(value 1000) return SendClientMessage(playerid"Valor maximo de 1000"); 

Resolvi o erro acima. obrigado +REP

Problema agora que ele não esta descontando a grana do outro player... so ta acrecentando pro player que eu enviei o pix


RE: Valor maximo[COMO DEFINIR] - fear - 21/12/2021

O VALOR NÃO ESTA DESCONTANDO DO PLAYER QUE ENVIA O PIX..


RE: Valor maximo[COMO DEFINIR] - xbruno1000x - 21/12/2021

(21/12/2021 22:27)fear Escreveu: O VALOR NÃO ESTA DESCONTANDO DO PLAYER QUE ENVIA O PIX..

isso acontece porque você não incluiu o playerid.

Você colocou essa linha para dar o dinheiro pro id
Código:
GivePlayerMoney(id, value);

Coloque essa pra extrair do playerid
Código:
GivePlayerMoney(playerid, -value);

Além disso, coloque mais uma condição na if para que value não seja menor que 0, pois eu poderia dar -1000 pra você e roubar dinheiro da sua conta.
Código:
if(value > 1000 && value < 1) return SendClientMessage(playerid, "Valor máximo de R$ 1000 e mínimo de R$ 1");



RE: Valor maximo[COMO DEFINIR] - fear - 21/12/2021

(21/12/2021 22:33)xbruno1000x Escreveu:
(21/12/2021 22:27)fear Escreveu: O VALOR NÃO ESTA DESCONTANDO DO PLAYER QUE ENVIA O PIX..

isso acontece porque você não incluiu o playerid.

Você colocou essa linha para dar o dinheiro pro id
Código:
GivePlayerMoney(id, value);

Coloque essa pra extrair do playerid
Código:
GivePlayerMoney(playerid, -value);

Além disso, coloque mais uma condição na if para que value não seja menor que 0, pois eu poderia dar -1000 pra você e roubar dinheiro da sua conta.
Código:
if(value > 1000 && value < 1) return SendClientMessage(playerid, "Valor máximo de R$ 1000 e mínimo de R$ 1");
Funcionou a questão de retirar de quem faz o pix.. mas tem o problema de que agora ele ta pegando qualquer valor e não esta limitando nos 1000 fora que tb mesmo eu estando negativo eu consigo fazer um pix...

Código PHP:
CMD:pix(playeridparams[])
{
    if(
ChecarPermissoes(playerid)) return 1;

        
    if(
GetDistanceBetweenPlayers(playeridstrval(params) ) > 2.0)
        return 
SendClientMessage(playerid,-1,"{E84F33}<!> {FFFFFF}O(a) Jogador(a) deve estar proximo de Você!");

    new 
idvalue;

    if(
sscanf(params"ud"idvalue)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Pix [id] [valor]");

    if(
value 1000 && value 1) return Msg(playerid, -1"{E84F33}<!> {FFFFFF}Valor máximo de  {E84F33}R$1000 e mínimo de {E84F33}R$ 1");
        
    if(!
IsPlayerConnected(ID))
             return 
Msg(playeridVermelho,"<!> {FFFFFF}ID Invalido ou não está conectado");

    
GivePlayerMoney(idvalue);
    
GivePlayerMoney(playerid, -value);

    
SendClientMessageEx(idVerde"O Player %s fez um pix para você %d" Nome(playerid), value);
    
SendClientMessageEx(playeridVerde"Você fez um pix para o player %s de %d" Nome(id), value);
    return 
1;


AGORA NÃO LIMITA PRA 1000 E TAMBÉM ESTA DANDO PRA TIRAR DO PLAYER.. FORA QUE EU MESMO NEGATIVO CONSIGO FAZER PIX... ME AJUDA AI KKK


RE: Valor maximo[COMO DEFINIR] - ipsLuan - 22/12/2021

Código PHP:
if(value || value 1000) return Msg(playerid, -1"{E84F33}<!> {FFFFFF}Valor máximo de  {E84F33}R$1000 e mínimo de {E84F33}R$ 1"); 



RE: Valor maximo[COMO DEFINIR] - xbruno1000x - 22/12/2021

(21/12/2021 22:47)fear Escreveu:
(21/12/2021 22:33)xbruno1000x Escreveu:
(21/12/2021 22:27)fear Escreveu: O VALOR NÃO ESTA DESCONTANDO DO PLAYER QUE ENVIA O PIX..

isso acontece porque você não incluiu o playerid.

Você colocou essa linha para dar o dinheiro pro id
Código:
GivePlayerMoney(id, value);

Coloque essa pra extrair do playerid
Código:
GivePlayerMoney(playerid, -value);

Além disso, coloque mais uma condição na if para que value não seja menor que 0, pois eu poderia dar -1000 pra você e roubar dinheiro da sua conta.
Código:
if(value > 1000 && value < 1) return SendClientMessage(playerid, "Valor máximo de R$ 1000 e mínimo de R$ 1");
Funcionou a questão de retirar de quem faz o pix.. mas tem o problema de que agora ele ta pegando qualquer valor e não esta limitando nos 1000 fora que tb mesmo eu estando negativo eu consigo fazer um pix...

Código PHP:
CMD:pix(playeridparams[])
{
    if(ChecarPermissoes(playerid)) return 1;

        
    
if(GetDistanceBetweenPlayers(playeridstrval(params) ) > 2.0)
    
    return SendClientMessage(playerid,-1,"{E84F33}<!> {FFFFFF}O(a) Jogador(a) deve estar proximo de Você!");

    new idvalue;

    if(sscanf(params"ud"idvalue)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Pix [id] [valor]");

    if(
value 1000 && value 1) return Msg(playerid, -1"{E84F33}<!> {FFFFFF}Valor máximo de  {E84F33}R$1000 e mínimo de {E84F33}R$ 1");
        
    
if(!IsPlayerConnected(ID))
             return 
Msg(playeridVermelho,"<!> {FFFFFF}ID Invalido ou não está conectado");

    GivePlayerMoney(idvalue);
    GivePlayerMoney(playerid, -value);

    SendClientMessageEx(idVerde"O Player %s fez um pix para você %d" Nome(playerid), value);
    SendClientMessageEx(playeridVerde"Você fez um pix para o player %s de %d" Nome(id), value);
    return 1;


AGORA NÃO LIMITA PRA 1000 E TAMBÉM ESTA DANDO PRA TIRAR DO PLAYER.. FORA QUE EU MESMO NEGATIVO CONSIGO FAZER PIX... ME AJUDA AI KKK

Eu fiz meio rápido e acabei trocando o operador, mas tenho certeza que o código do luan irá funcionar.


RE: Valor maximo[COMO DEFINIR] - fear - 22/12/2021

(22/12/2021 09:22)ipsLuan Escreveu:
Código PHP:
if(value || value 1000) return Msg(playerid, -1"{E84F33}<!> {FFFFFF}Valor máximo de  {E84F33}R$1000 e mínimo de {E84F33}R$ 1"); 

vlw mano resolveu +REP