[Ajuda] Bug do Dinheiro.
#1

Em meu server estes dias estive reparado a seguinte coisa:

- Players com uma grande quantia bancaria negativa, e uma grande quanti em dinheiro na mгo positivo (Bug do dinheiro).

Primeiramente gostaria se saber como funciona.
Segundamento gostaria de saber como "Bloqueia"

Se alguem ajudar , ficaria grato
Reply
#2

Certeza que o cуdigo nгo deve ter uma verificaзгo na variбvel do saldo.
Exemplo :
PHP код:
if(saldo[playerid] < strval(inputtext)) return false
Reply
#3

Explica melhor n tindi
Reply
#4

Hб alguma funзгo de "cofre/banco", por exemplo, /guardardinheiro [quantia] e /extrairdinheiro [quantia]?

Se ouver, й aн que estб o problema. O jogador continua tirando dinheiro, mesmo que nгo haja no cofre. Ou aн, ou num comando qualquer de vender acessуrios, etc.
Reply
#5

Reparei aqui agora, mesmo estando com 0 de saldo e possivel sacar..


pawn Код:
if(dialogid == 1123) //saque
    {
        if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Banco","Depositar\nSacar\nSaldo\nTransferir","Ok","Cancelar");
        else if(strval(inputtext) > PlayerInfo[playerid][pConta]) return SendClientMessage(playerid,COLOR_GREY,"Vocк nгo tem isso tudo na sua conta !");
        else if(!IsNumero(inputtext))
        {
            format(gstring,sizeof(gstring),"Seu Saldo atual й: [%d]\nColoque a quantidade que deseja sacar agora.",PlayerInfo[playerid][pConta]);
            ShowPlayerDialog(playerid,1123,DIALOG_STYLE_INPUT,"Sacar",gstring,"Sacar","Voltar");
            SendClientMessage(playerid,COLOR_GREY,"Digite apenas nъmeros!");
        }
        else
        {
            GivePlayerMoney(playerid,strval(inputtext));
            PlayerInfo[playerid][pConta] -= strval(inputtext);
            format(gstring,sizeof(gstring),"Vocк sacou: R$[%d]",strval(inputtext));
            SendClientMessage(playerid,COLOR_YELLOW,gstring);
            format(gstring,128,"Seu novo saldo й: R$[%d]",PlayerInfo[playerid][pConta]);
            SendClientMessage(playerid,COLOR_YELLOW,gstring);
            ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Banco","Depositar\nSacar\nSaldo\nTransferir","Ok","Cancelar");
        }
        return 1;
    }
Reply
#6

PHP код:
if(PlayerInfo[playerid][pConta] < strval(inputtext)) return SendClientMessage(playerid,-1,"Vocк nao tem estб quantia"); 
use antes do GivePlayerMoney
Reply
#7

Muito obrigado, darkxdll

Resolvido.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)