Gente uns players no meu sv achou um bug no /sacar para sacar money no banco e fazer a grana bugar. Presiso da ajuda de voces. E o seguinte. Um player vai ate o banco e da /sacar -9999999999999 o money na mao do player fica negativo mais a do banco fica positivo.
Код:
if(strcmp(cmd, "/sacar", true) == 0) {
format(file, sizeof(file), PASTA_CONTAS, PlayerName(playerid));
new checknome;
new tmp[256];
checknome = CPS_GetPlayerCheckpoint(playerid);
if(checknome == caixaeletronico1 || checknome == caixaeletronico2 || checknome == caixaeletronico3 || checknome == caixaeletronico4 || checknome == caixaeletronico5 || checknome == caixaeletronico6 || checknome == caixaeletronico7 || checknome == caixaeletronico8
|| checknome == bancoPref){
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Use /sacar [quantia].");
}
new valor;
valor = strval(tmp);
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(file, "ContaBancaria") == 1){
if(dini_Int(file, "SaldoBancario") > valor-1){
format(string, sizeof(string), "(INFO) Banco de servidor: Vocк sacou a quantia de R$%d.", valor);
SendClientMessage(playerid, Verde, string);
dini_IntSet(file, "SaldoBancario", dini_Int(file, "SaldoBancario")-valor);
GivePlayerGrana(playerid, valor);
return 1;
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem todo este dinheiro.");
}
}
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem uma conta bancбria.");
}
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo estб em um Banco.");
}
add ae no seu code se o valor for menor que 1 retorna uma mensagem pra ele colocar 1 ou mais.
Код:
if(valor < 1) return SendClientMessage(playerid, -1, "Por favor, coloque um valor acima ou igual б 1");