SA-MP Forums Archive
[Ajuda] Grana do Player nгo sai - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Grana do Player nгo sai (/showthread.php?tid=460825)



Grana do Player nгo sai - MoonRey - 30.08.2013

Olб, eu to com um problema em uma dialog de um posto, o player coloca a quantidade e talz, mas nгo sai o dinheiro que ele gastou, ele fica com o mesmo money que tinha antes de abastecer, alguem sabe como arrumar? =/

Aqui o Cуdigo:
pawn Код:
if(dialogid == DialogGasC)
    {
        Valor = strval(inputtext);
        if(VeiculosGasolina(vehicleid))
        {
            if(Valor > 100) SendClientMessage(playerid,0xFF0000AA,"(Posto)Valor mбximo para abastecer com Gasolina й 100 Litros!");
            if(dini_Int(file, "GasolinaComum") >= 100) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Desculpe, mas vocк jб estб com o tanque cheio!");
            if(Valor + dini_Int(file, "GasolinaComum") < 100) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Vocк nгo pode completar mais que 100 Litros de Gasolina no seu Tanque!");
        }
        new aname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
        format(file, sizeof(file), PASTA_CONTAS, aname);
        if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Vocк nгo pode abastecer um valor negativo!");
        Gastou = Valor * PrecoGasC;
        if(GetPlayerMoney(playerid) < Gastou) return SendClientMessage(playerid,0xFF0000AA,"(Posto) Vocк nгo tem dinheiro suficiente para Abastecer!");
        dini_IntSet(file, "GasolinaComum", dini_Int(file, "GasolinaComum") + Valor);
        format(sGas,sizeof sGas,"{FFFFFF}Vocк tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][GasolinaC],Valor,floatround(Gastou,floatround_round));
        ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustнvel",sGas,"Fechar","");
        TCombustivel[vehicleid][GasolinaC] += Valor;
        GivePlayerMoney(playerid, floatround(Gastou,floatround_round));
        return 1;
    }



Re: Grana do Player nгo sai - darkxdll - 30.08.2013

Estб usando algum anti money hack ?


Re: Grana do Player nгo sai - iFucK - 30.08.2013

pawn Код:
if(dialogid == DialogGasC)
    {
        Valor = strval(inputtext);
        if(VeiculosGasolina(vehicleid))
        {
            if(Valor > 100) SendClientMessage(playerid,0xFF0000AA,"(Posto)Valor mбximo para abastecer com Gasolina й 100 Litros!");
            if(dini_Int(file, "GasolinaComum") >= 100) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Desculpe, mas vocк jб estб com o tanque cheio!");
            if(Valor + dini_Int(file, "GasolinaComum") < 100) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Vocк nгo pode completar mais que 100 Litros de Gasolina no seu Tanque!");
        }
        new aname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
        format(file, sizeof(file), PASTA_CONTAS, aname);
        if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Vocк nгo pode abastecer um valor negativo!");
        Gastou = Valor * PrecoGasC;
        if(GetPlayerMoney(playerid) < -100) return SendClientMessage(playerid,0xFF0000AA,"(Posto) Vocк nгo tem dinheiro suficiente para Abastecer!");
        dini_IntSet(file, "GasolinaComum", dini_Int(file, "GasolinaComum") + Valor);
        format(sGas,sizeof sGas,"{FFFFFF}Vocк tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][GasolinaC],Valor,floatround(Gastou,floatround_round));
        ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustнvel",sGas,"Fechar","");
        TCombustivel[vehicleid][GasolinaC] += Valor;
        GivePlayerMoney(playerid, floatround(Gastou,floatround_round));
        return 1;
    }
@EDIT
Testa esse ae ↑


Respuesta: Grana do Player nгo sai - MoonRey - 30.08.2013

Cara, vocк mudou a verificaзгo se o Player tem a grana ou nгo '-'...

Tentei fazer desta forma:

pawn Код:
if(dialogid == DialogGasC)
    {
        Valor = strval(inputtext);
        if(VeiculosGasolina(vehicleid))
        {
            if(Valor > 100) SendClientMessage(playerid,0xFF0000AA,"(Posto)Valor mбximo para abastecer com Gasolina й 100 Litros!");
            if(dini_Int(file, "GasolinaComum") >= 100) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Desculpe, mas vocк jб estб com o tanque cheio!");
            if(Valor + dini_Int(file, "GasolinaComum") < 100) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Vocк nгo pode completar mais que 100 Litros de Gasolina no seu Tanque!");
        }
        new aname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
        format(file, sizeof(file), PASTA_CONTAS, aname);
        if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"(Posto)Vocк nгo pode abastecer um valor negativo!");
        Gastou = Valor * PrecoGasC;
        if(GetPlayerMoney(playerid) < Gastou) return SendClientMessage(playerid,0xFF0000AA,"(Posto) Vocк nгo tem dinheiro suficiente para Abastecer!");
        dini_IntSet(file, "GasolinaComum", dini_Int(file, "GasolinaComum") + Valor);
        format(sGas,sizeof sGas,"{FFFFFF}Vocк tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][GasolinaC],Valor,floatround(Gastou,floatround_round));
        ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustнvel",sGas,"Fechar","");
        TCombustivel[vehicleid][GasolinaC] += Valor;
        GivePlayerMoney(playerid, -Gastou); //Mudei aqui
        return 1;
    }
Mas da warning 213: tag mismatch, alguem sabe o que й?


Re: Grana do Player nгo sai - SkullFire - 30.08.2013

Deixa, hue .


Re: Grana do Player nгo sai - PT - 30.08.2013

linha? Do Warning


Respuesta: Grana do Player nгo sai - MoonRey - 30.08.2013

Consegui arrumar essa parte, agora o problema й que se o Player comprar a gasolina, ele nгo perde o dinheiro que deveria perder, й estranho, porque se eu definir como GivePlayerMoney(playerid, -500); funciona, mas se definir como GivePlayerMoney(playerid, -Gastou); nгo funciona, alguem sabe arrumar?


Re: Grana do Player nгo sai - Juniiro3 - 30.08.2013

PrecoGasC provavelmente estб igualado a 0


AW: Grana do Player nгo sai - Smith. - 30.08.2013

Se esse dialog estiver no GM tenta

pawn Код:
GivePlayerGrana(playerid, -Gastou);
Pois alguns GM muda a funзгo de money do samp


Respuesta: Grana do Player nгo sai - MoonRey - 30.08.2013

Nгo й sу no posto que ta tendo o problema do GivePlayerMoney, no meu banco que to tentando fazer tambem ta dando o problema, e esta definido assim:

pawn Код:
if(dialogid == DIALOG_DEPOSITAR)
{
new MoneyBanco;
new extbanc[256];
MoneyBanco = strval(inputtext);
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), PASTA_CONTAS, aname);
if(MoneyBanco < 0) return SendClientMessage(playerid,verdel,"{32CD32}(Banco)Vocк nгo pode depositar um valor negativo!");
dini_IntSet(file, "SaldoBancario", dini_Int(file, "SaldoBancario") + MoneyBanco);
GivePlayerMoney(playerid, - MoneyBanco);
format(extbanc,sizeof extbanc,"{32CD32}Vocк depositou R$%d e seu Saldo Bancario agora й de R$%d.\n", MoneyBanco, dini_Int(file, "SaldoBancario"));
ShowPlayerDialog(playerid,ExtratoBancario,DIALOG_STYLE_MSGBOX,"Extrato Bancario",extbanc,"Fechar","");
}
Mas tambem da o mesmo problema, o player continua com o dinheiro na mгo, o dinheiro ele meio que sai e volta no mesmo tempo =/

@Edit

LOL cara heauheuheauhua Smith, muito obrigado, nem lembrei que o GM podia alterar o GivePlayerMoney para GivePlayerGrana, nem me toquei disso, valew, funcionou certinho eaheuheuhaa