[Ajuda] Ajuda-me a tirar um bug desse COD
#1

Quando digita para /abastecer aparece a dialog, ai quando coloca por ex: 12 ai cobra o dobro como deveria cobrar mais quando digita o valor mбximo que e 60, sу cobra os 60 de vez cobrar o valor que e d 2 cada litro da gasolina que daria 120....


Код:
    if(dialogid == DIALOG_PGASOLINA)
	{
		new aname[MAX_PLAYER_NAME],file[123];
		GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
		format(file, sizeof(file), PASTA_CONTAS, aname);

        new pGasolinaZ = strval(inputtext),string[64],quantia = pGasolinaZ*floatround(VALOR_GASOLINA);

        if(dini_Exists(file))
        {
    	    if(pGasolinaZ > MAX_GASOLINA || pGasolinaZ <= 0) return SendClientMessage(playerid, Vermelho, "Quantia Invбlida");
		    {
			    if(AreaPosto[playerid] == 1)
                {
				    if(quantia + DOF2::GetInt(file, "Gasolina") < MAX_GASOLINA)
				    {
				 	    DOF2::SetInt(file, "Gasolina", DOF2::GetInt(file, "Gasolina") + pGasolinaZ);
					    GivePlayerGrana(playerid, - quantia);
                        format(string,60, "* Vocк abastaceu %d Litros por %d$",pGasolinaZ,quantia);
					    SendClientMessage(playerid,Amarelo, string);
                        return 1;
				    }
				    else if(quantia + DOF2::GetInt(file, "Gasolina"))
				    {
                        quantia = MAX_GASOLINA - DOF2::GetInt(file, "Gasolina");
					    DOF2::SetInt(file, "Gasolina", MAX_GASOLINA);
					    GivePlayerGrana(playerid, - quantia);

                        format(string,60, "Tanque cheio, foram colocados %d Litros por %d$",pGasolinaZ,quantia);
					    SendClientMessage(playerid,Amarelo, string);
                        return 1;
                    }
                }
			}
        }
        return 1;
	}
Reply
#2

Tenta isso
pawn Код:
if(dialogid == DIALOG_PGASOLINA)
    {
        new aname[MAX_PLAYER_NAME],file[123];
        GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
        format(file, sizeof(file), PASTA_CONTAS, aname);

        new pGasolinaZ = strval(inputtext),
        string[64],
        quantia = pGasolinaZ*floatround(VALOR_GASOLINA);

        if(dini_Exists(file))
        {
            if(pGasolinaZ > MAX_GASOLINA || pGasolinaZ <= 0) return SendClientMessage(playerid, Vermelho, "Quantia Invбlida");
           
            if(AreaPosto[playerid] == 1)
            {
                if(pGasolinaZ + DOF2::GetInt(file, "Gasolina") < MAX_GASOLINA)
                {
                    DOF2::SetInt(file, "Gasolina", DOF2::GetInt(file, "Gasolina") + pGasolinaZ);
                    format(string,60, "* Vocк abastaceu %d Litros por %d$",pGasolinaZ,quantia);
                }
                else
                {
                    quantia = MAX_GASOLINA - DOF2::GetInt(file, "Gasolina");
                    DOF2::SetInt(file, "Gasolina", MAX_GASOLINA);
                    format(string,60, "Tanque cheio, foram colocados %d Litros por %d$",pGasolinaZ,quantia);
                }
                GivePlayerGrana(playerid, - quantia);
                SendClientMessage(playerid,Amarelo, string);
                return 1;
            }
        }
        return 1;
    }
Reply
#3

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Tenta isso
pawn Код:
if(dialogid == DIALOG_PGASOLINA)
    {
        new aname[MAX_PLAYER_NAME],file[123];
        GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
        format(file, sizeof(file), PASTA_CONTAS, aname);

        new pGasolinaZ = strval(inputtext),
        string[64],
        quantia = pGasolinaZ*floatround(VALOR_GASOLINA);

        if(dini_Exists(file))
        {
            if(pGasolinaZ > MAX_GASOLINA || pGasolinaZ <= 0) return SendClientMessage(playerid, Vermelho, "Quantia Invбlida");
           
            if(AreaPosto[playerid] == 1)
            {
                if(pGasolinaZ + DOF2::GetInt(file, "Gasolina") < MAX_GASOLINA)
                {
                    DOF2::SetInt(file, "Gasolina", DOF2::GetInt(file, "Gasolina") + pGasolinaZ);
                    format(string,60, "* Vocк abastaceu %d Litros por %d$",pGasolinaZ,quantia);
                }
                else
                {
                    quantia = MAX_GASOLINA - DOF2::GetInt(file, "Gasolina");
                    DOF2::SetInt(file, "Gasolina", MAX_GASOLINA);
                    format(string,60, "Tanque cheio, foram colocados %d Litros por %d$",pGasolinaZ,quantia);
                }
                GivePlayerGrana(playerid, - quantia);
                SendClientMessage(playerid,Amarelo, string);
                return 1;
            }
        }
        return 1;
    }
Nгo funciono continua a mesma coisa .
Reply
#4

mais alguem pode me ajudar
Reply
#5

Quais o valor das defines MAX_GASOLINA e VALOR_GASOLINA ?
Reply
#6

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Quais o valor das defines MAX_GASOLINA e VALOR_GASOLINA ?

MAX_GASOLINA = 60 litros
VALOR_GASOLINA = 2$
Reply
#7

alguйm poderia me fazer um grande favor me ajudando
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)