dinheiro negativo no pix - fear - 20/03/2024
Boa noite. estou com um problema no meu sistema de /pix id valor
ele ta deixando eu transferir o pix mesmo que eu não tenha o valor digitado.. e assim vai ficando negativo a conta do player e transferindo para outro player.. tem como bloquear caso ele não tenha o valor na conta disponivel assim não deixando negativado..??
Código PHP: CMD:pix(playerid,params[]) { new id, quantia; if(sscanf(params, "ud", id, quantia))return SendClientMessage(playerid, Vermelho, "[ ERRO ] Digite: /Pix [id ou Nick][quantia]"); if(GetDistanceBetweenPlayers(playerid, strval(params) ) > 2.0)return SendClientMessage(playerid,Vermelho,"[ ERRO ] O player deve estar proximo de voce!"); if(quantia < 1 || quantia > 5000) return SendClientMessage(playerid, -1, "[ ERRO ] Valor maximo de {E84F33}R$5000 e mínimo de {E84F33}R$ 1"); if(id == playerid)return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode dar Dinheiro para si mesmo!"); if(!IsPlayerConnected(id))return SendClientMessage(playerid,Vermelho,"[ ERRO ] Player nao Conectado!");
GivePlayerMoney(id, quantia); GivePlayerMoneyEx(playerid, -quantia);
SendClientMessage(playerid,Amarelo,"( PIX ) Você deu ao %s[%d] %s em Dinheiro!",pName[id],id,formatReal(quantia)); SendClientMessage(id,Amarelo,"( PIX ) %s[%d] te deu %s em Dinheiro!",pName[playerid],playerid,formatReal(quantia)); return 1; }
RE: dinheiro negativo no pix - White_Blue - 20/03/2024
Basta verificar se o jogador tem ou não o dinheiro antes de enviar.
Código PHP: if(GetPlayerMoney(playerid) < quantia) return SendClientMessage(playerid, -1, "Você não tem esse dinheiro");
RE: dinheiro negativo no pix - Calasans - 21/03/2024
(20/03/2024 21:04)fear Escreveu: Boa noite. estou com um problema no meu sistema de /pix id valor
ele ta deixando eu transferir o pix mesmo que eu não tenha o valor digitado.. e assim vai ficando negativo a conta do player e transferindo para outro player.. tem como bloquear caso ele não tenha o valor na conta disponivel assim não deixando negativado..??
Código PHP: CMD:pix(playerid,params[]) { new id, quantia; if(sscanf(params, "ud", id, quantia))return SendClientMessage(playerid, Vermelho, "[ ERRO ] Digite: /Pix [id ou Nick][quantia]"); if(GetDistanceBetweenPlayers(playerid, strval(params) ) > 2.0)return SendClientMessage(playerid,Vermelho,"[ ERRO ] O player deve estar proximo de voce!"); if(quantia < 1 || quantia > 5000) return SendClientMessage(playerid, -1, "[ ERRO ] Valor maximo de {E84F33}R$5000 e mínimo de {E84F33}R$ 1"); if(id == playerid)return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode dar Dinheiro para si mesmo!"); if(!IsPlayerConnected(id))return SendClientMessage(playerid,Vermelho,"[ ERRO ] Player nao Conectado!");
GivePlayerMoney(id, quantia); GivePlayerMoneyEx(playerid, -quantia);
SendClientMessage(playerid,Amarelo,"( PIX ) Você deu ao %s[%d] %s em Dinheiro!",pName[id],id,formatReal(quantia)); SendClientMessage(id,Amarelo,"( PIX ) %s[%d] te deu %s em Dinheiro!",pName[playerid],playerid,formatReal(quantia)); return 1; }
Aqui:
Código PHP: CMD:pix(playerid,params[]) { new id, quantia; // if(sscanf(params, "ud", id, quantia)) return SendClientMessage(playerid, Vermelho, "[ ERRO ] Digite: /Pix [id ou Nick][quantia]"); // if(GetDistanceBetweenPlayers(playerid, strval(params) ) > 2.0) return SendClientMessage(playerid,Vermelho,"[ ERRO ] O player deve estar proximo de voce!"); // if(quantia < 1 || quantia > 5000) return SendClientMessage(playerid, -1, "[ ERRO ] Valor maximo de {E84F33}R$5000 e mínimo de {E84F33}R$ 1"); // if(GetPlayerMoney(playerid) < quantia) return SendClientMessage(playerid, -1, "Você não tem dinheiro"); // if(id == playerid) return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode dar Dinheiro para si mesmo!"); // if(!IsPlayerConnected(id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Player nao Conectado!"); // GivePlayerMoney(id, quantia); GivePlayerMoneyEx(playerid, -quantia); // SendClientMessage(playerid,Amarelo,"( PIX ) Você deu ao %s[%d] %s em Dinheiro!",pName[id],id,formatReal(quantia)); SendClientMessage(id,Amarelo,"( PIX ) %s[%d] te deu %s em Dinheiro!",pName[playerid],playerid,formatReal(quantia)); // return 1; }
Essa últimas SendClientMessage, é provável que não funcione, já que não estão formatadas, a não ser que você tenha uma macro sobre elas ou, está usando uma biblioteca que possibilita isso.
Não "Funcionar", me refiro a mensagem não sair correta.
RE: dinheiro negativo no pix - pushline - 22/03/2024
"Essa últimas SendClientMessage, é provável que não funcione, já que não estão formatadas, a não ser que você tenha uma macro sobre elas ou, está usando uma biblioteca que possibilita isso."
Se ele está usando open.mp irá funcionar.
Aproveite e mude de "u" no sscanf pra "r", já que o argumento "u" possibilita mandar para npcs.
Aliás, segue codigo editado por que vi um GetDistanceBetweenPoints errado.
Código PHP: CMD:pix(playerid,params[]) { new id, quantia; if(sscanf(params, "ud", id, quantia)) return SendClientMessage(playerid, Vermelho, "[ ERRO ] Digite: /Pix [id ou Nick][quantia]");
if(id == playerid) return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode dar Dinheiro para si mesmo!");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Player nao Conectado!");
if(GetDistanceBetweenPlayers(playerid, id ) > 2.0) return SendClientMessage(playerid,Vermelho,"[ ERRO ] O player deve estar proximo de voce!");
if(quantia < 1 || quantia > 5000) return SendClientMessage(playerid, -1, "[ ERRO ] Valor maximo de {E84F33}R$5000 e mínimo de {E84F33}R$ 1");
if(GetPlayerMoney(playerid) < quantia) return SendClientMessage(playerid, -1, "Você não tem dinheiro"); GivePlayerMoney(id, quantia); GivePlayerMoneyEx(playerid, -quantia);
SendClientMessage(playerid, Amarelo, "( PIX ) Você deu ao %s[%d] %s em Dinheiro!", pName[id], id, formatReal(quantia)); SendClientMessage(id, Amarelo, "( PIX ) %s[%d] te deu %s em Dinheiro!", pName[playerid], playerid, formatReal(quantia));
return 1; }
RE: dinheiro negativo no pix - fear - 24/03/2024
(20/03/2024 21:49)White_Blue Escreveu: Basta verificar se o jogador tem ou não o dinheiro antes de enviar.
Código PHP: if(GetPlayerMoney(playerid) < quantia) return SendClientMessage(playerid, -1, "Você não tem esse dinheiro");
Obrigado. era isso mesmo!
|