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