[Ajuda] Nгo recebe quantia desejada
#1

Estou com um probleminha meu /comprarprods nгo estб atualmente comprando os produtos, nгo sei o motivo ele mostra isso Produtos: %d/%d. ao invez de mostrar isso Vocк comprou %d por R$ %d, eu tentei tirar a parte de onde mostra os produtos mais da Erro, eu acho que a funзгo estб trocado o produto acima e o comprou abaixo, se puder me ajudar agradeзo.
codigo:
pawn Код:
if(strcmp(cmd, "/comprarprods", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new tmpcar = GetPlayerVehicleID(playerid);
            new compcost = 50;
            if(PlayerToPoint(50.0, playerid, 1702.9344,-1470.9005,13.5469))
            {
                if(IsATruck(tmpcar))
                {
                    if(PlayerHaul[tmpcar][pLoad] < PlayerHaul[tmpcar][pCapasity])
                    {
                        new amount;
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "USE: /comprarprods [Valor]");
                            return 1;
                        }
                        amount = strval(tmp);
                        if(amount < 1 || amount > 500) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode comprar menos de 1 e mais de 500 !"); return 1; }
                        new check= PlayerHaul[tmpcar][pLoad] + amount;
                        if(check > PlayerHaul[tmpcar][pCapasity])
                        {
                            format(string, sizeof(string), "Voce foi ao limite dos caminhoes carry %d, que atualmente exedem %d.",PlayerHaul[tmpcar][pCapasity],PlayerHaul[tmpcar][pLoad]);
                            SendClientMessage(playerid, COLOR_GREY, string);
                            return 1;
                        }
                        new cost = amount*compcost;
                        if(GetPlayerMoney (playerid) >= cost)
                        {
                            PlayerHaul[tmpcar][pLoad] += amount;
                            format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            format(string, sizeof(string), "Voce comprou %d Produtos por $%d.", amount,cost);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            GivePlayerMoney(playerid,-cost);
                            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                            return 1;
                        }
                        else
                        {
Reply
#2

Reinicie o valor da variбvel string antes de altera-la novamente, ou simplesmente utilize outra variбvel.

PHP код:
if(strcmp(cmd"/comprarprods"true) == 0)
{
    if(
IsPlayerConnected(playerid))
    {
        new 
tmpcar GetPlayerVehicleID(playerid);
        new 
compcost 50;
        if(
PlayerToPoint(50.0playerid1702.9344,-1470.9005,13.5469))
        {
            if(
IsATruck(tmpcar))
            {
                if(
PlayerHaul[tmpcar][pLoad] < PlayerHaul[tmpcar][pCapasity])
                {
                    new 
amount;
                    
tmp strtok(cmdtextidx);
                    if(!
strlen(tmp))
                    {
                        
SendClientMessage(playeridCOLOR_GRAD1"USE: /comprarprods [Valor]");
                        return 
1;
                    }
                    
amount strval(tmp);
                    if(
amount || amount 500) { SendClientMessage(playeridCOLOR_GREY"Vocк nгo pode comprar menos de 1 e mais de 500 !"); return 1; }
                    new 
checkPlayerHaul[tmpcar][pLoad] + amount;
                    if(
check PlayerHaul[tmpcar][pCapasity])
                    {
                        
format(stringsizeof(string), "Voce foi ao limite dos caminhoes carry %d, que atualmente exedem %d.",PlayerHaul[tmpcar][pCapasity],PlayerHaul[tmpcar][pLoad]);
                        
SendClientMessage(playeridCOLOR_GREYstring);
                        return 
1;
                    }
                    new 
cost amount*compcost;
                    if(
GetPlayerMoney (playerid) >= cost)
                    {
                        
PlayerHaul[tmpcar][pLoad] += amount;
                        
format(stringsizeof(string), "Produtos: %d/%d."PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                        
SendClientMessage(playeridTEAM_GROVE_COLORstring);
                        new 
string2[100];
                        
format(string2sizeof(string2), "Voce comprou %d Produtos por $%d."amount,cost);
                        
SendClientMessage(playeridTEAM_GROVE_COLORstring2);
                        
GivePlayerMoney(playerid,-cost);
                        
PlayerPlaySound(playerid10520.00.00.0);
                        return 
1;
                    }
                    else
                    { 
Reply
#3

Errors, nao entendi a teoria Los.
Reply
#4

Simplesmente substitua:

PHP код:
format(stringsizeof(string), "Produtos: %d/%d."PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
SendClientMessage(playeridTEAM_GROVE_COLORstring);
format(stringsizeof(string), "Voce comprou %d Produtos por $%d."amount,cost);
SendClientMessage(playeridTEAM_GROVE_COLORstring); 
Por:

PHP код:
format(stringsizeof(string), "Produtos: %d/%d.\nVoce comprou %d Produtos por $%d."PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity], amount,cost));
SendClientMessage(playeridTEAM_GROVE_COLORstring); 
formats nгo funcionam como strcat. Por isto o problema.
Reply
#5

Quote:
Originally Posted by Lуs
Посмотреть сообщение
Simplesmente substitua:

PHP код:
format(stringsizeof(string), "Produtos: %d/%d."PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
SendClientMessage(playeridTEAM_GROVE_COLORstring);
format(stringsizeof(string), "Voce comprou %d Produtos por $%d."amount,cost);
SendClientMessage(playeridTEAM_GROVE_COLORstring); 
Por:

PHP код:
format(stringsizeof(string), "Produtos: %d/%d.\nVoce comprou %d Produtos por $%d."PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity], amount,cost));
SendClientMessage(playeridTEAM_GROVE_COLORstring); 
formats nгo funcionam como strcat. Por isto o problema.
A quebra de linha nгo funciona quando a string й enviada via SendClientMessage. Ademais, nгo й preciso reiniciar a string se serб utilizado format, jб que a mesma terб um valor "atribuнdo" a ela, e nгo concatenado, como strcat, em que й preciso reiniciar.
Reply
#6

Quote:
Originally Posted by zPain
Посмотреть сообщение
A quebra de linha nгo funciona quando a string й enviada via SendClientMessage. Ademais, nгo й preciso reiniciar a string se serб utilizado format, jб que a mesma terб um valor "atribuнdo" a ela, e nгo concatenado, como strcat, em que й preciso reiniciar.
O format existe um pequeno problema, se vocк usa uma formataзгo em uma string apуs a outra, e realmente, ignorei a parte de ser SendClientMessage.

Se este nгo for o problema, as variбveis sгo.

Bem observado.
Reply
#7

Sem Efeito Lуs.
Reply
#8

O que ele estб imprimindo? Faзa um debug.
Reply
#9

Explica melhor o que acontece por favor...
Reply
#10

Linda Histуria: " O Jogador chega na empresa para pegar produtos com o Comando /pegarprods, Em vez de Aparecer: 1/999 Produtos Continua 0/999 Produtos ... "
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)